需求
有時候,需要把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
至此,行列可以随意設定了。