Pandas按列分组并为每列

时间:2018-06-05 06:01:17

标签: python pandas pandas-groupby pandasql

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

0 个答案:

没有答案