將 DataFrame 行分組為 Pandas GroupBy 中的清單
許多資料集包含跨行的冗餘資訊。為了提取有意義的見解,通常需要根據公共屬性對行進行分組。這使得能夠聚合和操作每個組內的資料。在本文中,我們將探討如何在 Pandas groupby 中將資料幀行分組到清單中。
考慮一個包含兩列「a」和「b」的資料幀:
a b A 1 A 2 B 5 B 5 B 4 C 6
目標是按第一列('a' )將行分組,並在第二列中建立值清單每組的列('b')。所需的輸出是:
A [1,2] B [5,5,4] C [6]
為了實現這一點,我們可以使用 Pandas 的 groupby 和 apply 函數。 groupby 函數會依照指定列來對行進行分組,而 apply 函數允許我們對每個組執行操作。在本例中,我們將應用列表函數為每個群組建立一個值列表。
df.groupby('a')['b'].apply(list)
此程式碼將傳回一個包含每個群組的值清單的 Series 物件:
a A [1, 2] B [5, 5, 4] C [6] Name: b, dtype: object
要使用分組清單建立一個新的資料框,我們可以使用reset_index函數將Series物件轉換為新的資料框並重新命名包含清單的資料列:
df1 = df.groupby('a')['b'].apply(list).reset_index(name='new')
產生的資料框將如下所示:
a new 0 A [1, 2] 1 B [5, 5, 4] 2 C [6]
以上是如何使用 Pandas Groupby 將 DataFrame 行分組到清單中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!