Python 将JSON数据转换为数据帧中的列
我有熊猫数据框形式的数据,如下所示:Python 将JSON数据转换为数据帧中的列,python,json,pandas,dataframe,Python,Json,Pandas,Dataframe,我有熊猫数据框形式的数据,如下所示: A B C ab {"app":"x","wid":10,"a42":5} e y {"hair":"x","wid":10,"a42":2} r 我想这样转换我的数据帧: A C app wid a42 hair ab e x 10 5 - y r - 10 2
A B C
ab {"app":"x","wid":10,"a42":5} e
y {"hair":"x","wid":10,"a42":2} r
我想这样转换我的数据帧:A C app wid a42 hair
ab e x 10 5 -
y r - 10 2 r
这些问题没有帮助:
我也看到了许多其他链接,但都遇到了这个问题。试试这个:
In [143]: df.B.apply(pd.Series)
Out[143]:
a42 app hair wid
0 5 x NaN 10
1 2 NaN x 10
试试这个:
In [143]: df.B.apply(pd.Series)
Out[143]:
a42 app hair wid
0 5 x NaN 10
1 2 NaN x 10
您可以使用和:
您可以使用和:
试试这个
df["B"] = df["B"].apply(lambda x : dict(eval(x)) )
or
df["B"] = df["B"].map(eval)
df2 = df["B"].apply(pd.Series )
result = pd.concat([df, df2], axis=1).drop('B', axis=1)
试试这个
df["B"] = df["B"].apply(lambda x : dict(eval(x)) )
or
df["B"] = df["B"].map(eval)
df2 = df["B"].apply(pd.Series )
result = pd.concat([df, df2], axis=1).drop('B', axis=1)
我没有这种形式的数据:{'A':['ab','y'],'B':[{“应用程序”:“x”,“wid”:10,“a42”:5},{“头发”:“x”,“wid”:10,“a42”:2}],'C':['e','r']}。我有数据帧的形式,当我在执行“pd.dataframe.from_records(df.B)”过程时,结果是错误的。是的,我知道。您的数据格式为
df
,对吗?为了更好的测试,我添加了创建df。我没有以下形式的数据:{'A':['ab','y'],'B':[{“应用程序”:“x”,“wid”:10,“a42”:5},{“头发”:“x”,“wid”:10,“a42”:2}],'C':['e','r']}。我有数据帧的形式,当我在执行“pd.dataframe.from_records(df.B)”过程时,结果是错误的。是的,我知道。您的数据格式为df
,对吗?我添加了创建df以便更好地测试。重复?复制品?如果这个答案有帮助,请投票并更正。如果这个答案有帮助,请投票并更正。