我的同事给了我一个数据集,其中包含带有嵌套数据的列:
id | ... | x
0 | ... | [['a',3.0],['b',5.4]]
1 | ... | [['a',1.3],['b',7.6]]
2 | ... | [['b',2.4],['a',8.8]]
: | ... | : :
我正在尝试将列解析为多个列以获得如下内容:
id | ... | a | b
0 | ... | 3.0 | 5.4
1 | ... | 1.3 | 7.6
2 | ... | 8.8 | 2.4
: | ... | : | :
不幸的是,我似乎无法找到使用 pandas 执行此操作的方法。我知道不鼓励以这种方式嵌套数据,但不幸的是我的同事并不认为这是一个问题,所以这就是我度过周末的方式。
有人有处理此类问题的经验吗?
最佳答案
我认为这应该有效:
records = [ dict(row) for row in df['x'].values ]
new_df = pd.DataFrame.from_records(records, columns = records[0].keys(), index = df.index)
(我没有测试它,所以可能需要一些更改)
关于python - 使用 pandas 取消嵌套数组列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28663005/