偶现在知道的将字典转换为DataFrame主要有两种方法。
第一种方法,直接使用pd.DataFrame()。需要注意的是这种方法需要先将字典变为list。
>>> dict = {'a':'apple','b':'banana'}
>>> dict
{'a': 'apple', 'b': 'banana'}
>>> import pandas as pd
>>> df = pd.DataFrame([dict])
>>> df
a b
0 apple banana
>>>
我们可以看到,最后输出的结果是以字典的keys作为columns。
第二种方法,有两种实现的方式。
1、 使用DataFrame的from_dict()方法。
>>> df = pd.DataFrame.from_dict(dict, orient='index',columns=['fruits'])
>>> df = df.reset_index().rename(columns = {'index':'id'})
>>> df
id fruits
0 a apple
1 b banana
>>>
2、将字典转变为Series,再转为DataFrame。
>>> df = pd.DataFrame(pd.Series(dict), columns=['fruits'])
>>> df = df.reset_index().rename(columns={'index':'id'})
>>> df
id fruits
0 a apple
1 b banana
>>>
我们可以看到第二种方法,将字典的keys和values分别作为了DataFrame的两列。最主要的是reset_index().rename()方法,将作为index的keys变为DataFrame中的一列。第一种方法的结果加上一个转至,应该也能实现。偶们可以试一下。
>>> df = pd.DataFrame([dict]).T
>>> df = df.reset_index().rename(columns={'index':'id'})
>>> df
id 0
0 a apple
1 b banana
>>>