我有一个有趣的问题,我没有在Pandas中获得任何内置解决方案。
我有以下数据:
A B C D E F
1 null null Red null 12
1 89 76 Red null null
1 null null null null 12
我想获得一个输出:
1 89 76 Red null 12
现在,这些数据是在不同时间发出的消息。许多消息属于单个事务。
因此,假设A是交易的标识符。一些具有相同标识符的消息具有列B的值,一些具有列C的值。
因此,我希望按唯一标识符进行分组,然后为每列获取非空值。
所以,这是一个分组然后聚合的任务。但与计数或类似的事情不同,我真的在创造一个新的行。
我在大熊猫中找不到这样做的方法。非常感谢任何帮助,谢谢!
实施例产品:>
A B C D
1 null null 100
1 90 null null
2 null 1000 999
1 80
2 1000 null 799
df.groupby('A').first()
B C D
A
1 null null 100
2 null 1000 999
但所需的输出是:
B C D
A
1 90 80 100
2 1000 1000 999