Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将JSON数据转换为数据帧中的列_Python_Json_Pandas_Dataframe - Fatal编程技术网

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以便更好地测试。重复?复制品?如果这个答案有帮助,请投票并更正。如果这个答案有帮助,请投票并更正。