对pandas datafram的列应用函数

2024-04-25 13:48:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含用户对电影评论的数据框,我想分析用户将电影描述为“movie1”与“movie2”的示例

User id     Old id_New id   Score   Comments
947952018   3101_771355141  3.0 If you want to see a comedy and have a stupid ...
805407067   11903_18330     5.0 Argento?s fever dream masterpiece. Fairy tale ...
901306244   16077_771225176 4.5 Evil Dead II meets Brothers Grimm and Hawkeye ...
901306244   NaN_381422014   1.0 Biggest disappointment! There's a host of ...
15169683    NaN_22471       3.0 You know in the original story of Pinocchio he...

我写了一个函数,它接受一个注释,找到单词“meets”,并在meets前后获取前n个单词,并返回movie1&movie2标题的本质(希望如此),我计划稍后模糊匹配另一个数据帧中的标题。在

^{pr2}$

如何在原始pandas数据帧的comments列上应用此函数,并将返回的movie1和movie2标题放在单独的列中?我试过了

df['Comments'].apply(parse_titles) 

但是我不能指定我想用的单词。直接在专栏上操作也不适合我,我也不知道如何将新电影放入新的专栏。在

parse_movie(sample['Comments'], 4)
AttributeError: 'Series' object has no attribute 'partition'

建议将不胜感激!在


Tags: andof数据函数用户id标题电影
1条回答
网友
1楼 · 发布于 2024-04-25 13:48:00

基于how to split column of tuples in pandas dataframe?答案。这可以使用lambda函数和apply来完成(pd系列). 将结果保存到dataframe列“movie1”和“movie2”。在

num_words = 4
df[['movie1','movie2']] = df['comments'].apply(lambda comment: parse_movie(comment, num_words)).apply(pd.Series)

相关问题 更多 >