3

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

これらのデータは、さまざまなタイミングで送信されるメッセージです。多くのメッセージは、1 つのトランザクションに属します。

したがって、A がトランザクションの識別子であるとします。同じ識別子を持つメッセージには、列 B の値を持つものもあれば、列 C の値を持つものもあります。

したがって、一意の識別子でグループ化し、各列の null 以外の値を取得したいと考えています。

したがって、これはグループ化してから集計するタスクです。しかし、カウントなどとは異なり、実際には新しい行を作成しています。

私はパンダでそうする方法を見つけていません。どんな助けでも大歓迎です、ありがとう!

例:>

    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
4

0 に答える 0