使用Groupby 根據列值拆分Pandas 資料框
在Python 中,可以依照列值將Pandas 資料框拆分為多個資料框特定列中的值。此技術通常用於為列中的每個唯一類別或群組建立單獨的資料框。
例如,考慮以下帶有名為「ZZ」的欄位的資料框:
df = N0_YLDF ZZ MAT 0 6.286333 2 11.669069 1 6.317000 6 11.669069 2 6.324889 6 11.516454 3 6.320667 5 11.516454 4 6.325556 5 11.516454 5 6.359000 6 11.516454 6 6.359000 6 11.516454 7 6.361111 7 11.516454 8 6.360778 7 11.516454 9 6.361111 6 11.516454
目標是將此資料幀拆分為四個新資料幀,每個資料幀包含「ZZ」具有特定值的行:2、5、6 和7。為了實現這一目標,我們可以利用 Pandas 的「groupby」函數。
gb = df.groupby('ZZ') [gb.get_group(x) for x in gb.groups]
「groupby」函數建立一個 GroupBy 對象,該物件根據指定列中的值(本例中為「ZZ」)對資料幀行進行分組。 “ZZ”的每個唯一值都成為 GroupBy 物件中的一個群組。
後續行使用列表理解來迭代群組並將每個群組作為單獨的資料幀檢索。使用每個群組的名稱(即“ZZ”的唯一值)呼叫“get_group”方法來提取對應的資料幀。
因此,此程式碼產生四個新的資料幀,每個資料幀代表在「ZZ」列中共享相同值的原始資料幀行。
以上是如何使用 Groupby 根據列值將 Pandas DataFrame 拆分為多個 DataFrame?的詳細內容。更多資訊請關注PHP中文網其他相關文章!