如何从作为字典列表的json字符串中的值构建数据框?

时间:2017-04-13 12:10:31

标签: python pandas dataframe

我有一个巨大的值列表,我已经下载了,我想构建并将它们插入数据帧。

我认为这很简单:

import pandas as pd

df = pd.DataFrame()
records = giant list of dictionary

df['var1'] = records[0]['key1']
df['var2'] = records[0]['key2']

我会得到一个数据框,例如

var1 var2
val1 val2

但是,我的数据框似乎是空的?我可以单独打印记录中的值没问题。

简单示例:

t = [{'v1': 100, 'v2': 50}]
df['var1'] = t[0]['v1']
df['var2'] = t[0]['v2']

我想成为:

var1 var2
100  50

2 个答案:

答案 0 :(得分:1)

熊猫正是为你做的!

>>> import pandas as pd
>>> t = [{'v1': 100, 'v2': 50}]
>>> df=pd.DataFrame(t)
>>> df
    v1  v2
0  100  50

修改

>>> import pandas as pd
>>> t = [{'v1': 100, 'v2': 50}]
>>> df=pd.DataFrame([t[0]['v1']], index=None, columns=['var1'])
>>> df
    0
0  100  

答案 1 :(得分:1)

您的词典列表中的一个条目看起来像是您传递给pd.Series构造函数的内容。如果您想使用系列方法pd.DataFrame,可以将其转换为pd.Series.to_frame。我最后调换,因为我假设您希望字典代表一行。

pd.Series(t[0]).to_frame().T

    v1  v2
0  100  50