首頁 >後端開發 >Python教學 >如何使用 Pandas Groupby 將 DataFrame 行分組到清單中?

如何使用 Pandas Groupby 將 DataFrame 行分組到清單中?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-17 09:38:24342瀏覽

How Can I Group DataFrame Rows into Lists Using Pandas Groupby?

將 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn