天天看點

Python中把字典dic轉換為DataFrame

需求

有時候,需要把dic轉換為DataFrame格式,便于檢視和存儲。

假設有以下的dic:

dic={'a':"1", 'b': "2", 'c':'3'}

本文來探讨一下把它轉換為df的幾種方式。

直接轉換:key為列名

直接轉換時,需要把字典轉化為list來操作:

import pandas as pd

dic={'a':"1", 'b': "2", 'c':'3'}
df= pd.DataFrame([dic])
print(df)
           

輸出如下:

a  b  c
0  1  2  3
           

可以看出預設是把字典的key作為column,value為列的值,索引為預設的自然數。

from_dict設定行列标題

使用DataFrame的from_dict()方法可以實作靈活的轉換。

方法的原型:

DataFrame.from_dict(data, orient='columns', dtype=None, columns=None)

其中:

  • data:要轉為DataFrame的字典
  • orient:可選為’columns’或者’index’,預設為‘columns’,如果想要将dict的key作為DataFrame的列标題,則為‘columns’;如果想要将dict的key作為DataFrame的行标題,則為‘index’。
  • dype:指定的資料類型,如果不指定,則由推斷得到
  • columns:當以dict的key作為行标題時,列标題預設預設為0,1,2…,colunms參數可以指定列标題的内容

如下:

df1=pd.DataFrame.from_dict(dic, orient='index')
print(df1)

df2=pd.DataFrame.from_dict(dic, orient='index',columns=['value'])
print(df2)
           

輸出如下:

0
a  1
b  2
c  3

  value
a     1
b     2
c     3
           

至此,行列可以随意設定了。