首頁 > 後端開發 > Python教學 > 如何有效透視 Pandas DataFrame?

如何有效透視 Pandas DataFrame?

Barbara Streisand
發布: 2024-12-27 15:43:11
原創
287 人瀏覽過

How Can I Effectively Pivot a Pandas DataFrame?

如何對資料框進行透視?

透視是一種轉換,它採用具有代表類別的列和代表值的行的資料框,並重新定向它,以便類別位於行中,值位於列中,索引設定為原始行值。

基本語法:

df.pivot(index=<row_labels>, columns=<col_labels>, values=<value_cols>)
登入後複製

範例:

  • 在單一欄位上進行透視:
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)
登入後複製
處理重複keys:
  • 預設情況下,如果行或列標籤中有重複的鍵,將會引發錯誤。或者,您可以使用:
  • df.groupby('row', 'col')['val'].mean().unstack(fill_value=0)
    登入後複製
    其他旋轉方法:
  • groupby unstack:

pd. set_index:使用set_index設定行軸和列軸,然後unstack到資料透視表。

    pd.crosstab:專為建立交叉表或資料透視表而設計。
進階透視技術:
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'])
登入後複製
  • 多個聚合函數:
df.pivot_table(index='row', columns=['item', 'col'], values='val', fill_value=0, aggfunc='mean')
登入後複製
依多列細分:

以上是如何有效透視 Pandas DataFrame?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板