「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Pandas DataFrame を効果的にピボットするにはどうすればよいですか?

Pandas DataFrame を効果的にピボットするにはどうすればよいですか?

2024 年 12 月 21 日に公開
ブラウズ:285

How Can I Effectively Pivot a Pandas DataFrame?

データフレームをピボットするにはどうすればよいですか?

ピボットとは、カテゴリを表す列と値を表す行を含むデータフレームを取得し、カテゴリが一致するように方向を変更する変換です。行に値があり、列に値があり、インデックスは元の行の値に設定されます。

Basic構文:

df.pivot(index=, columns=, values=)

例:

  • 単一のピボット列:
df.pivot(index='row', columns='col', values='val')
  • 複数の列でピボット:
df.pivot(index=['row', 'item'], columns='col', values='val')
  • 複数の値でピボット:
df.pivot(index='row', columns='col', values=['val0', 'val1'])
  • カスタム集計によるピボット関数:
df.pivot(index='row', columns='col', values='val', aggfunc='mean')
  • 重複の処理キー:

デフォルトでは、行ラベルまたは列ラベルに重複したキーがある場合、エラーが発生します。または、

df.pivot_table(index='row', columns='col', values='val', fill_value=0)
  • その他のメソッドを使用することもできます。ピボット:
  • groupby unstack:

    df.groupby('row', 'col')['val'].mean().unstack(fill_value=0)
  • pd.DataFrame.set_index: set_index を使用して行軸と列軸を設定し、アンスタックしてピボットします。
  • pd.crosstab: クロス集計またはピボットの作成用に特別に設計されていますtables.

高度なピボット手法:

  • クロス集計 (頻度カウント):
pd.crosstab(index=df['row'], columns=df['col'], values=df['val'], aggfunc='count')
  • 複数の集計関数:
df.pivot_table(index='row', columns='col', values='val', aggfunc=['mean', 'sum'])
  • 倍数による細分化columns:
df.pivot_table(index='row', columns=['item', 'col'], values='val', fill_value=0, aggfunc='mean')
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3