帶有分隔符號連接的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中文網其他相關文章!