我的一些数据看起来像:
date, name, value1, value2, value3, value4
1/1/2001,ABC,1,1,,
1/1/2001,ABC,,,2,
1/1/2001,ABC,,,,35
我正在努力达到可以跑步的地步
data.set_index(['date', 'name'])
但是,按照原样的数据,当然有重复项(如上所示),所以我不能这样做(而且我不想要一个有重复项的索引,我不能简单地 drop_duplicates(),因为这会丢失数据)。
如果它们可以基于 NaN 的某些值成功收敛(类似于 combine_first() 的行为),我希望能够将具有相同 [日期,名称] 值的行强制为单行。例如,上面将结束于
date, name, value1, value2, value3, value4
1/1/2001,ABC,1,1,2,35
如果两个值不同且一个不是 NaN,则不应将两行收敛(这可能是我需要跟进的错误)。
(为了扩展上面的例子,实际上可能有任意数量的行——给定任意数量的列——应该能够收敛到一行。)
这感觉像是一个应该可以通过 pandas 解决的问题,但我无法找到一个优雅的解决方案。