我有一个有趣的问题,我没有在 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