将字典列表转换为Dataframe
我有这样的字典列表:
[{'points': 50, 'time': '5:00', 'year': 2010}, {'points': 25, 'time': '6:00', 'month': "february"}, {'points':90, 'time': '9:00', 'month': 'january'}, {'points_h1':20, 'month': 'june'}]
我想把它变成一个像这样的pandasDataFrame
:
month points points_h1 time year 0 NaN 50 NaN 5:00 2010 1 february 25 NaN 6:00 NaN 2 january 90 NaN 9:00 NaN 3 june NaN 20 NaN NaN
注意:列的顺序无关紧要。
最终目标是将其写入文本文件,这似乎是我能find的最佳解决scheme。 如何将字典列表变成pandas数据框如上所示?
假设d
是你的列表清单,简单地说:
pd.DataFrame(d)
在pandas16.2,我不得不做pd.DataFrame.from_records(d)
得到这个工作。
你也可以使用pd.DataFrame.from_dict(d)
:
In [8]: d = [{'points': 50, 'time': '5:00', 'year': 2010}, ...: {'points': 25, 'time': '6:00', 'month': "february"}, ...: {'points':90, 'time': '9:00', 'month': 'january'}, ...: {'points_h1':20, 'month': 'june'}] In [12]: pd.DataFrame.from_dict(d) Out[12]: month points points_h1 time year 0 NaN 50.0 NaN 5:00 2010.0 1 february 25.0 NaN 6:00 NaN 2 january 90.0 NaN 9:00 NaN 3 june NaN 20.0 NaN NaN