首頁 > 後端開發 > Python教學 > 如何融化和解凍 Pandas DataFrame:綜合指南?

如何融化和解凍 Pandas DataFrame:綜合指南?

Mary-Kate Olsen
發布: 2024-12-24 11:08:13
原創
151 人瀏覽過

How to Melt and Unmelt Pandas DataFrames: A Comprehensive Guide?

如何融化 pandas 資料框?

融化資料框涉及將資料從寬格式轉換為長格式,其中多個欄位合併為一。

如何使用melt?

要在資料幀上使用melt,您可以使用pd.melt() 函數。此函數採用以下參數:

  • id_vars:指定應用作識別符的欄位。
  • value_vars:指定應熔化的欄位。如果未指定,則所有未設定為 id_vars 的欄位都會被融化。
  • var_name:指定將儲存變數名稱的資料列的名稱。
  • value_name:指定變數名稱將儲存值的資料列。

我什麼時候使用融化?

當您想要執行以下操作時,融化資料框非常有用:

  • 將資料從寬格式重塑為長格式。
  • 提取特定內容來自多列的值。
  • 建立一個整潔的資料集

如何解決特定的融化相關問題?

問題1:轉置資料幀

要轉置資料幀(例如,將列轉換為行),請使用下列命令code:

df.melt(id_vars=['Name', 'Age'], var_name='Subject', value_name='Grades')
登入後複製

問題2:選擇特定列進行熔化

要只融化特定列,請使用value_vars 參數,如下所示:

df.melt(id_vars=['Name', 'Age'], value_vars=['Math'], var_name='Subject', value_name='Grades')
登入後複製

問題3:分組和排序融化data

要將熔化的資料分組和排序,您可以使用groupby() 和sort_values() 函數:

df.melt(id_vars=['Name', 'Age']) \
 .groupby('Grades') \
 .agg(', '.join) \
 .sort_values('Grades')
登入後複製

問題4:取消熔化的資料框

要將熔化的資料框轉換回其原始格式,請使用ivot_table( ) 函數:

df.pivot_table("Grades", ['Name', 'Age'], 'Subject', aggfunc='first')
登入後複製

問題5:依名稱分組並分隔科目和成績

要按名稱分組並分隔科目和成績,請合併列使用melt(),然後使用groupby():

df.melt(id_vars=['Name', 'Age']) \
 .groupby('Name') \
 .agg(', '.join)
登入後複製

問題6: 融化整個資料框

要融化整個資料框,請省略value_vars 參數:

df.melt(var_name='Column', value_name='Value')
登入後複製

以上是如何融化和解凍 Pandas DataFrame:綜合指南?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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