使用Pandas Groupby 連接多行字串
在使用Pandas 進行資料操作的領域中,通常需要組合來自多個行的字串基於特定標準的行。 Groupby 操作提供了實現此目的的強大方法。讓我們深入研究一個實際範例。
假設我們有一個包含「名稱」、「文字」和「日期」欄位的 DataFrame。我們希望將「名稱」和「月份」的每個唯一組合的「文字」條目連接起來。為此,我們可以利用以下步驟:
分組和轉換: 按「名稱」和「月份」列將 DataFrame 分組。然後,套用轉換操作並使用lambda 函數以逗號分隔符號連接「文字」條目:
df['text'] = df[['name','text','month']].groupby(['name','month'])['text'].transform(lambda x: ','.join(x))
刪除重複項: 轉換後的' text'列可能包含重複的條目。要保留唯一的條目,請根據「名稱」和「月份」列刪除重複項:
df[['name','text','month']].drop_duplicates()
或者,我們可以透過使用apply 和reset_index 來簡化過程以獲得所所需的結果輸出:
df.groupby(['name','month'])['text'].apply(','.join).reset_index()
這些方法可以有效連接Pandas DataFrame中多行的字串,從而使資料操作任務更加容易可以管理。
以上是如何使用 Groupby 連接多個 Pandas DataFrame 行中的字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!