首頁 > 後端開發 > Python教學 > 如何使用分隔符號有效地連接 Pandas 中的分組值?

如何使用分隔符號有效地連接 Pandas 中的分組值?

Barbara Streisand
發布: 2024-12-16 19:55:18
原創
345 人瀏覽過

How to Efficiently Join Grouped Values in Pandas with a Delimiter?

在Pandas 中使用分隔符號連接分組值

使用groupby 函數將具有多個值的資料分組時,經常會遇到此問題不使用分隔符號連接這些值。要解決此問題,您可以利用 agg 方法。

考慮以下DataFrame:

col | val
-----|-----
A    | Cat
A    | Tiger
B    | Ball
B    | Bat
登入後複製

要根據col 列將這些行分組並連接val 列中的值,請使用以下程式碼:

import pandas as pd
df = pd.DataFrame({'col': ['A', 'A', 'B', 'B'], 'val': ['Cat', 'Tiger', 'Ball', 'Bat']})
grouped = df.groupby('col')['val'].agg('-'.join)
登入後複製

這種方法應該會產生所需的結果result:

col | val
-----|-----
A    | Cat-Tiger
B    | Ball-Bat
登入後複製

但是,如果使用apply方法作為替代方法,則可能會導致意外結果,連字符值會多次出現,如下所示:

df.groupby('col')['val'].apply(lambda x: '-'.join(x))

col | val
-----|-----
A        | C-a-t-T-i-g-e-r
B          | B-a-l-l-B-a-t
登入後複製

為了避免這個問題,請使用 agg 方法,如上面的示例所示。

此外,將分組索引或 MultiIndex 轉換為常規索引列,您可以使用reset_index方法:

df1 = grouped.reset_index(name='new')
登入後複製

以上是如何使用分隔符號有效地連接 Pandas 中的分組值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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