python - 将数组数组转换为扁平数据框

标签 python pandas

得到一个具有以下结构的 pandas 数据框

0    [{'review_id': 4873356, 'rating': '5.0'}, {'review_id': 4973356, 'rating': '4.0'}]
1    [{'review_id': 4635892, 'rating': '5.0'}, {'review_id': 4645839, 'rating': '3.0'}] 
....
....

我想用以下列 review_id 和 rating 展平成一个数据框

我正在尝试 pd.DataFrame(df1.values.flatten()) 但看起来我得到了一些基本的错误,需要帮助!!!

最佳答案

你最终得到了一系列需要的字典列表:

import pandas as pd
pd.DataFrame([x for y in df1.values for x in y])

  rating  review_id
0    5.0    4873356
1    4.0    4973356
2    5.0    4635892
3    3.0    4645839

或者如果愿意使用 itertools:

from itertools import chain

pd.DataFrame(chain.from_iterable(df1.values.ravel()))

关于python - 将数组数组转换为扁平数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54636542/

相关文章:

python - 该问题要求根据字典检查列表并在列表中未出现在字典中的项目之前添加 *

python - 在 Pandas 中使用 groupby 查找重复项

Python DBF 模块正在向表导出添加额外的行

python - Pandas : OR If value contains "-" then do

python - Dask groupby apply 行为异常

python - 按顺序固定列

python - 如何将数据框的值存储在单个列表中

python - MacO 上的 PyOpenGL OpenGL 版本

python - 使用子进程执行 C 程序

python - 无法在 Windows 7 上安装 numexpr(以及 pytables),即使存在 interpreter.pyd,dll 加载失败