[英]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.