折叠具有相同索引值的行并填充NA的最佳方法

时间:2019-08-28 10:59:09

标签: python pandas pivot pandas-groupby

我正在使用来自另一个脚本的字典来构建数据框。这是数据示例(实际数据大〜1M行)。

sample data = [ {'ID':'XX0001','ATTRIBUTE':'Yellow','VALUE':'Dark','DATE':'201205'},
{'ID':'XX0001','ATTRIBUTE':'Red','VALUE':'Light','DATE':'201205'},
{'ID':'XX0002','ATTRIBUTE':'Yellow','VALUE':'Dark','DATE':'201205'},
{'ID':'XX0002','ATTRIBUTE':'Red','VALUE':'Neon','DATE':'201205'},
{'ID':'XX0002','ATTRIBUTE':'Green','VALUE':'Dark','DATE':'201205'}]

该数据在DATE和ID中将是唯一的。因此,我想折叠结果数据集,例如ATTRIBUTE值成为列,VALUE列值成为新ATTRIBUTE列的值,而ID和DATE列作为索引。像这样:

enter image description here

我已经尝试过pd.pivotpd.pivot_table,但它们不能与多索引一起使用,也不可以填写结果NA。 pd.groupby似乎不能采用非null值(它们必须在ID,DATE和ATTRIBUTE中必须是唯一的)。

我尝试过的列表和字典理解也没有接近,而且它们很笨拙。

将不胜感激。

0 个答案:

没有答案