【问题标题】:Splitting a pandas data frame's column containing json data into multiple columns将包含 json 数据的 pandas 数据框的列拆分为多列
【发布时间】:2019-07-25 01:02:13
【问题描述】:

我将一个 json 数据加载并标准化为:

json_string = json.loads(data)
df_norm = json_normalize(json_string, errors='ignore')

假设它现在有 2 列:

Group       Members

A           [{'id':'1', 'metrics': '34', 'profile': 'abc'},{'id':'3', 
              'metrics': '32', 'profile': 'dc'}]
B           [{'id':'2', 'metrics': '4', 'profile': 'bac'}]

我正在寻找一种方法来拆分“成员”列并将其合并回同一“组”下的原始数据框,例如:

Group   Members                                                                                          id     metrics     profile
A       {'id':'1', 'metrics': '34', 'profile': 'abc'},{'id':'3', 'metrics': '32', 'profile': 'dc'}]      1      34          abc
A       {'id':'1', 'metrics': '34', 'profile': 'abc'},{'id':'3', 'metrics': '32', 'profile': 'dc'}]      3      32          dc
B       [{'id':'2', 'metrics': '4', 'profile': 'bac'}]                                                   4      4           bac

任何帮助将不胜感激。

【问题讨论】:

  • 你可以在问题中添加示例 json 吗?
  • 是的,请分享data

标签: json python-3.x pandas dataframe


【解决方案1】:

用途:

import ast

#if necessary convert column to list of dicts
df['Members'] = df['Members'].apply(ast.literal_eval)
#create DataFrames in list comprehension
df1 = pd.concat({k:pd.DataFrame(v) for k, v in df['Members'].items()})
#join to original
df = df.join(df1.reset_index(level=1, drop=True)).reset_index(drop=True)
print (df)
  Group                                            Members id metrics profile
0     A  [{'id': '1', 'metrics': '34', 'profile': 'abc'...  1      34     abc
1     A  [{'id': '1', 'metrics': '34', 'profile': 'abc'...  3      32      dc
2     B    [{'id': '2', 'metrics': '4', 'profile': 'bac'}]  2       4     bac

【讨论】:

  • 任何建议如何避免以下错误 "ValueError: malformed node or string: {'pkt_in': '2502', 'lport': '32872', "
  • 我也遇到了同样的错误
猜你喜欢
  • 2017-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-13
  • 1970-01-01
  • 1970-01-01
  • 2022-08-12
  • 1970-01-01
相关资源
最近更新 更多