使用pandas取消嵌套数组列

时间:2015-02-22 20:42:15

标签: python pandas

我的同事递给我一个包含嵌套数据列的数据集:

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
 : | ... | :   | :

不幸的是,我似乎无法找到使用熊猫的方法。我知道以这种方式嵌套数据是不鼓励的,但不幸的是我的同事并不认为这是一个问题,所以这就是我度过周末的方式。

有没有人有处理此类问题的经验?

1 个答案:

答案 0 :(得分:1)

我认为这应该有效:

records = [ dict(row) for row in df['x'].values ]
new_df = pd.DataFrame.from_records(records, columns = records[0].keys(), index = df.index)

(我没有测试它,因此可能需要进行一些更改)