如何提取特定字段?

时间:2020-07-29 20:41:35

标签: python json pandas

我的数据框如下

Keys: key1, key2, key3, key4
Values: val1, val2, val3, val4

变量pd.DataFrame({'normalvar':1, 'weirdo': [{'Item': [{'basket': 'Text', 'Value': 'Stackoverflow'}]}]}) Out[68]: normalvar weirdo 0 1 {'Item': [{'basket': 'Text', 'Value': 'Stackoverflow'}]} 来自某些经过解析的weirdo资料。

我想创建一列json,其中仅包含myextraction的值(如果可能):即Value

我该怎么做? 谢谢!

2 个答案:

答案 0 :(得分:1)

>>> df['myextraction'] = df['weirdo'][0]['Item'][0]['Value']
        
>>> df
        
   normalvar                                             weirdo   myextraction
0          1  {'Item': [{'basket': 'Text', 'Value': 'Stackov...  Stackoverflow

答案 1 :(得分:0)

尝试:

df['myextraction'] = pd.DataFrame.from_records(np.array(df.weirdo.values.tolist()).ravel(),
                                               index=df.index)['Value']

输出:

       normalvar                                         weirdo   myextraction
Item           1  [{'basket': 'one', 'Value': 'Stackoverflow'}]  Stackoverflow
Item2          1             [{'basket': 'two', 'Value': 'SO'}]             SO