为了账号安全,请及时绑定邮箱和手机立即绑定

Python Pandas:将一列的值检查到另一个数据框的列中

Python Pandas:将一列的值检查到另一个数据框的列中

绝地无双 2023-03-16 17:54:19
我有两个数据框,如下所示:df:         Review Text                                        Noun                                             Thumbups   Rating    I've been using this app for over a month. It ...   [app, month, job, track, ATV, replay, animatio...         2.0   4    Would be nice to be able to import files from ...   [My, Tracks, app, phone, Google, Drive, import...         6.0   5    When screen off it shows a straight line. Not ...   [screen, line, route]                                     1.0   3    No Offline Maps! It used to have offline maps ...   [Offline, Maps, menu, option, video, exchange,...         20.0  1    Great application. Designed with very well tho...   [application, application]                                20.0  5    Great App. Nice and simple but accurate. Wish ...   [Great, App, Nice, Exported]                                0.0 5    Does just what it says. Had a couple of questi...   [couple, service]                                         0.0   5    Save For Offline - This does not work. The rou...   [Save, Offline, route, filesystem]                       12.0   1    Since latest update app will not run. Subscrip...   [update, app, Subscription, March, application]           9.0   5    Great app. Love it! And all the things it does...   [Great, app, Thank, work]                                1.0    5    I have paid for subscription but keeps telling...   [subscription, trial, period]                            0.0    2    Error: The route cannot be save for no locatio...   [Error, route, i, GPS]                                   0.0    2df1:Noun    Thumb_countaccuracy    1.0almost      1.0animation   2.0antarctica  1.0app         25.0application 29.0apps        1.0atv         2.0august      3.0battery     1.0我想检查 df1 的“Noun”列的值是否出现在 df 的“Noun”列中,然后在 df1 中创建一个名为“average”的新列,并取 df 行的“Rating”列的平均值,其中 Noun现值。
查看完整描述

1 回答

?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

样本输出会非常有用。在没有它的情况下,我的尝试;


df.Noun=df.Noun.str.strip('[]')#Strip corner brackets

df.Noun=df.Noun.str.split(",")#Make list again.

df=df.explode('Noun')#Get each item in df.Noun 

df[df.Noun.str.contains(('|').join(df1.Noun.values.tolist()))]#Check membership

df.groupby('Noun')['Rating'].mean()


查看完整回答
反对 回复 2023-03-16
  • 1 回答
  • 0 关注
  • 194 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号