首页 > 解决方案 > 如何将数据框字典条目拆分/分解为多行

问题描述

我从一个复杂的 JSON 开始,经过一些操作,我非常接近我想要的,我唯一缺少的步骤是:

如何从输出到输入,棘手的部分是我希望能够选择要展平的列

[input]
  index  extras                               info
0     a  {'value1': 'one'}                    {'info2': 'two'}
1     a  {'value1': 'one', 'value2': 'two'}   {'info1': 'one', 'info2': 'two'}
2     a  {'value2': 'two'}                    {}
3     b  {'value2': 'two'}                    {'info1': 'one'}
4     b  {}                                   {'info2': 'one'}
5     b  {'value2': 'two'}                    {}

[output]
      index  extras.value1   extras.value2    info
0     a      'one'           Undefined        {'info2': 'two'}
1     a      'one'           'two'            {'info1': 'one', 'info2': 'two'}
2     a      Undefined       'two'            {}
3     b      Undefined       'two'            {'info1': 'one'}
4     b      Undefined       Undefined        {'info2': 'one'}
5     b      Undefined       'two'            {}

标签: pythonpython-3.xpandasdataframe

解决方案


也许你可以检查一下apply,这比冷的方法慢

df=df.assign(**df.extras.apply(pd.Series).add_prefix('extras.'))

推荐阅读