私はちょうどパンダの学習を始め、pandas groupby
とpandas pivot_table
の機能に違いがあるのだろうかと思っていました。誰も私がそれらの違いを理解するのを助けることができますか? ヘルプをいただければ幸いです。パンダ:グループ別とピボットテーブルの相違
20
A
答えて
30
pivot_table
とgroupby
の両方を使用してデータフレームを集約します。違いは、結果の形状のみです。
pd.pivot_table(df, index=["a"], columns=["b"], values=["c"], aggfunc=np.sum)
を使用するとテーブルが作成され、a
が行軸にあり、b
が列軸にあり、値はc
の合計です。
例:groupby
を使用
df = pd.DataFrame({"a": [1,2,3,1,2,3], "b":[1,1,1,2,2,2], "c":np.random.rand(6)})
pd.pivot_table(df, index=["a"], columns=["b"], values=["c"], aggfunc=np.sum)
b 1 2
a
1 0.528470 0.484766
2 0.187277 0.144326
3 0.866832 0.650100
、与えられた寸法は列に配置され、行は、これらの寸法の組み合わせ毎に作成されます。
この例では、一連の合計値c
を、a
とb
のすべての固有の組み合わせでグループ化しています。我々は['c']
を省略した場合
df.groupby(['a','b'])['c'].sum()
a b
1 1 0.528470
2 0.484766
2 1 0.187277
2 0.144326
3 1 0.866832
2 0.650100
Name: c, dtype: float64
groupby
の同様の使い方があります。この場合、ユニークな値でグループ化された残りのすべての列の合計のデータフレーム(系列ではありません)をa
とb
に作成します。
print df.groupby(["a","b"]).sum()
c
a b
1 1 0.528470
2 0.484766
2 1 0.187277
2 0.144326
3 1 0.866832
2 0.650100
関連する問題
- 1. パンダのデータフレームのピボットテーブルとグループ化
- 2. ピボットテーブル(?)パンダDATAFRAMEと
- 3. グループによる - 個別ピボットテーブル
- 4. パンダのset_valueと=の相違点
- 5. パンダ:グループ別の列
- 6. パンダ:ピボットテーブル
- 7. パンダ:中央ピボットテーブル
- 8. パンダのピボットテーブル値ループ
- 9. 2日間のパンダの相違
- 10. パンダの小計ピボットテーブルのインデックスとカラム
- 11. パンダ:ピボットテーブルごとのデータ操作
- 12. Pythonのパンダ - データフレームのピボットテーブル
- 13. SQLピボットテーブルのグループ化
- 14. パンダ・グループとマルチインデックス
- 15. グループごとパンダ
- 16. グループ内のDjangoクエリの相違
- 17. MySQL Workbench:グループIDとピボットテーブルの作成
- 18. パンダ - マルチインデックス部門[すなわち、グループ別]
- 19. グループごとのdplyr突然変異の相違
- 20. パンダのグループ化とカウントダウン
- 21. グループ化とMultiindexingパンダのデータフレーム
- 22. グループ署名方式と公開鍵暗号の相違
- 23. パンダの行のcumprod()を得るピボットテーブル
- 24. importとconstとの相違点とcommonjsでの相違点
- 25. Pythonのパンダ:グループ
- 26. ユニークな合計を持つパンダのピボットテーブル
- 27. パンダ、ピボットテーブルの階層を避ける
- 28. パンダのピボットテーブルを再インデックスする方法
- 29. ピボットテーブルをグループ化します
- 30. =と:=の相違点
ありがとうございました。あなたが投稿したものに関して私は疑いがある。 df.groupby(["a"、 "b"])["c"] sum()はdf.groupby(["a"、 "b"] ["c"])とどのように違うのですか? .sum() ' – user4943236
あなたが投稿した行は構文的には正しくありませんが、' df.groupby(["a"、 "b"、 "c"])。sum() 'を意味すると思います。これは、a、b、cの固有の組み合わせでグループ化し、残りの列を合計します(上記の例では存在しません)。 –