python - 如何将数据帧字典条目拆分/分解为多行

标签 python python-3.x pandas dataframe

我从一个复杂的 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'            {}

最佳答案

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

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

关于python - 如何将数据帧字典条目拆分/分解为多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54299381/

相关文章:

python - 未找到 Pip 包 - Brewed Python

python - Python 中的全局变量

python - Pandas 会影响 Rapidfuzz 匹配的结果吗?

pandas df.to_parquet 写入多个较小的文件

python - 有没有办法找到当前行中金额不为0的日期之前的最后一个日期?

python - 无法使用 PyMySQL 连接到 Cloud SQL

python - 检查 Python 中是否存在变量 - 不适用于 self

python - 如何将字符串列表中的反向字符串与python中的原始字符串列表进行比较?

python - 让 Python 打印一天中的小时数

python - 多重继承调用顺序