我正在尝试连接一个数据框的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
函数在此处可处理一行数据,为什么我不能一次性使用完整的数据帧使用同一代码。
有没有方法可以直接执行此操作而不使用apply函数?
数据如下:
最后一行包含第一部电影的输出-演员+导演+关键字+流派
答案 0 :(得分:0)
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(' '))