簡體   English   中英

在 pandas dataframe 中連接多個字符串列

[英]Concatenating multiple string columns in pandas dataframe

我正在嘗試加入 dataframe 的 4 列,每個列都有一個需要連接在一起的值列表:

工作代碼如下:

def create_soup(x):
    return ' '.join(x['keywords']) + ' ' + ' '.join(x['cast']) + ' ' + x['director'] + ' ' + ' '.join(x['genres'])
df['soup'] = df.apply(create_soup, axis=1)

我理解這段代碼的主要問題是df.apply function 在這里處理一行數據,為什么我不能在一個 Z34D1F91FB2E514B8576FAB1A7A7A 中使用與完整的 dataframe 相同的代碼。

有沒有什么方法可以在沒有應用 function 的情況下直接執行此操作?

數據如下:

在此處輸入圖像描述

最后一行包含第一部電影的 output - 演員 + 導演 + 關鍵字 + 流派

使用Series.str.join

df['soup'] = (df['keywords'].str.join(' ') + ' ' + 
              df['cast'].str.join(' ') + ' ' + 
              df['director'] + ' ' +
              df['genres'].str.join(' '))

相似的:

df['soup'] = ((df['keywords'] + df['cast']).str.join(' ') + ' ' + 
               df['director'] + ' ' +
               df['genres'].str.join(' '))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM