データフレームの列でグループ化しますが、それらのグループの一部を1つのグループに要約します

エリック・シュタイナー

私はこのようなパンダのデータフレームを持っています:

RECEIPT   USD    TYPE
      1 10.00   Paper
      2 12.00 Digital
      3  5.00    Note
      4 10.00   Paper
      5 12.00   Paper
      6  5.00 Digital

データを列TYPEでグループ化すると、次のようになります。

balance = df.groupby(['TYPE'])['USD'] \
                    .agg(['sum', 'count']) \
                    .reset_index() \
                    .rename(columns={'sum': 'TOTAL', 'count': 'COUNT'})

   TYPE TOTAL COUNT
Digital 17.00     2
Note     5.00     1
Paper   32.00     3

しかし、デジタルレシートだけの情報と残りの情報を1行で取得したい場合はどうでしょうか。元のデータフレームの別の列でそれを行う方法を知っていますが、もっとエレガントな方法があるかもしれません。

望ましい結果:

   TYPE   TOTAL COUNT
Digital   17.00     2
Remainder 37.00     4
rafaelc

groupbyブールマスキングを使用できます

mask = (df.TYPE=='Digital').map({False: 'Remainder', True:'Digital'})

または、使用するnp.where(IMOはよりエレガントなソリューションです)

mask = np.where(df.TYPE=='Digital', 'Remainder', 'Digital')

両方とも

df.groupby(mask)['USD'] \
                        .agg(['sum', 'count']) \
                        .reset_index() \
                        .rename(columns={'sum': 'TOTAL', 'count': 'COUNT'})

    TYPE        TOTAL   COUNT
0   Digital     17.0    2
1   Remainder   37.0    4

二つ以上のグループの場合は、使用することができますnp.selectようmask

np.select([df.TYPE == 'Digital', (df.TYPE == 'Paper') | (df.TYPE=='Note'), df.TYPE=='Mail'],
          ['Digital', 'Paper', 'Remainder']

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

パンダのある列にグループ化してデータフレームを要約します

分類Dev

Pythonは新しいデータフレームのグループ化と列の要約を作成します

分類Dev

データフレームを1つの列の値でグループ化しますか?

分類Dev

パンダデータフレームのグループ化された列の1つの列の違いのグラフをプロットします

分類Dev

Python Pandas:1つの列でグループ化し、他の1つの列のみに集約しますが、対応するデータを取得します

分類Dev

Rデータフレームから:列の1つでグループ化された列ごとに非NA値をカウントします

分類Dev

一部の列の値を平均しながらパンダのデータフレームをグループ化する

分類Dev

データフレームの行をグループ化し、それらを処理します

分類Dev

データフレームをグループ化し、条件に基づいてその中から1つのセルを選択します

分類Dev

パンダのグループ化されたデータの1つのレベルを集約します

分類Dev

列の値に応じて異なる機能を持つグループ化されたデータフレームを条件付きで集約します

分類Dev

R:データフレームの1列をグループ化/ループします

分類Dev

dplyrは、グループ化されたデータを別の列に要約します

分類Dev

Pandasデータフレームを1つの列でグループ化し、別の列に基づいて行をドロップします

分類Dev

Pythonでデータフレームをグループ化し、連続する番号のサブグループに要約する方法は?

分類Dev

データフレームを列でグループ化し、文字列を別の列に連結します

分類Dev

同一のIDを持つ値を、Rで要約せずに列にグループ化します

分類Dev

データフレームの列を集約せずに、別のデータフレームに従ってグループ化します。

分類Dev

データフレームの1列を変数インデックスでグループ化します

分類Dev

グループ化された列のグループ化された列からデータフレームを作成します

分類Dev

データ フレームの列を日付 (列のタイトルを構成する) でグループ化し、R の 1 と 0 のインスタンスを要約します。

分類Dev

1つの列と新しい列でグループ化された新しいデータフレームを作成します

分類Dev

pandasデータフレームで2つの一般的な行の値を1つにグループ化します

分類Dev

Pandasデータフレームを1つの列でグループ化して、リストの辞書に変換します

分類Dev

R-データフレーム内のデータを2列でグループ化し、新しいデータフレームに再配置します

分類Dev

IDでグループ化しながら、他の列の値に基づいて新しいデータフレームを作成します

分類Dev

パンダのデータフレーム:列ごとにグループ化し、この列の複製を複数の行にまたがらせます

分類Dev

パンダデータフレームの列をグループ化し、量を減らします

分類Dev

パンダのデータフレームを1つの列または別の列でグループ化します

Related 関連記事

  1. 1

    パンダのある列にグループ化してデータフレームを要約します

  2. 2

    Pythonは新しいデータフレームのグループ化と列の要約を作成します

  3. 3

    データフレームを1つの列の値でグループ化しますか?

  4. 4

    パンダデータフレームのグループ化された列の1つの列の違いのグラフをプロットします

  5. 5

    Python Pandas:1つの列でグループ化し、他の1つの列のみに集約しますが、対応するデータを取得します

  6. 6

    Rデータフレームから:列の1つでグループ化された列ごとに非NA値をカウントします

  7. 7

    一部の列の値を平均しながらパンダのデータフレームをグループ化する

  8. 8

    データフレームの行をグループ化し、それらを処理します

  9. 9

    データフレームをグループ化し、条件に基づいてその中から1つのセルを選択します

  10. 10

    パンダのグループ化されたデータの1つのレベルを集約します

  11. 11

    列の値に応じて異なる機能を持つグループ化されたデータフレームを条件付きで集約します

  12. 12

    R:データフレームの1列をグループ化/ループします

  13. 13

    dplyrは、グループ化されたデータを別の列に要約します

  14. 14

    Pandasデータフレームを1つの列でグループ化し、別の列に基づいて行をドロップします

  15. 15

    Pythonでデータフレームをグループ化し、連続する番号のサブグループに要約する方法は?

  16. 16

    データフレームを列でグループ化し、文字列を別の列に連結します

  17. 17

    同一のIDを持つ値を、Rで要約せずに列にグループ化します

  18. 18

    データフレームの列を集約せずに、別のデータフレームに従ってグループ化します。

  19. 19

    データフレームの1列を変数インデックスでグループ化します

  20. 20

    グループ化された列のグループ化された列からデータフレームを作成します

  21. 21

    データ フレームの列を日付 (列のタイトルを構成する) でグループ化し、R の 1 と 0 のインスタンスを要約します。

  22. 22

    1つの列と新しい列でグループ化された新しいデータフレームを作成します

  23. 23

    pandasデータフレームで2つの一般的な行の値を1つにグループ化します

  24. 24

    Pandasデータフレームを1つの列でグループ化して、リストの辞書に変換します

  25. 25

    R-データフレーム内のデータを2列でグループ化し、新しいデータフレームに再配置します

  26. 26

    IDでグループ化しながら、他の列の値に基づいて新しいデータフレームを作成します

  27. 27

    パンダのデータフレーム:列ごとにグループ化し、この列の複製を複数の行にまたがらせます

  28. 28

    パンダデータフレームの列をグループ化し、量を減らします

  29. 29

    パンダのデータフレームを1つの列または別の列でグループ化します

ホットタグ

アーカイブ