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

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

Mary-Kate Olsen
發布: 2024-12-17 09:38:24
原創
346 人瀏覽過

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

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