首頁 > 後端開發 > Python教學 > 如何使用 Pandas Groupby 將值與分隔符號連接?

如何使用 Pandas Groupby 將值與分隔符號連接?

DDD
發布: 2024-12-09 15:49:14
原創
822 人瀏覽過

How Can I Use Pandas Groupby to Join Values with a Delimiter?

帶有分隔符號連接的Pandas Groupby

使用Pandas 函式庫,您可以使用groupby 函數將具有多個值的行分組。但是,預設情況下,這些值是在沒有分隔符號的情況下連接的。本文解決了引入分隔符號來分隔每個組中的值的問題。

您最初嘗試使用 apply() 函數用破折號 (-) 連接值,但這導致整個連接字串而不是分隔各個值。

更直接的方法是使用帶有 join 參數的 agg() 函數。以下是實現所需輸出的方法:

group = df.groupby('col')['val'].agg('-'.join)
登入後複製

這將使用破折號作為分隔符號連接每個群組中的值。結果將是:

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

請注意,索引仍然存在於輸出中,如果要將其轉換為列,可以使用reset_index() 函數:

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

這會將索引轉換為名為new​​ 的新欄位。最終輸出將是:

  col  new
0   A  Cat-Tiger
1   B  Ball-Bat
登入後複製

或者,您可以使用squeeze()函數(注意這個函數在Pandas 1.4.0中被製作為as_nunique函數)來完全刪除索引並獲得一個Series物件:

group.squeeze()
登入後複製

這將產生一個由指定值連接的分組值的系列分隔符號:

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

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

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