【发布时间】:2021-05-20 03:03:30
【问题描述】:
我有以下df:
df = pd.DataFrame({'Name': ['John', 'Sara', 'Paul', 'Guest'], 'Interaction': ['share,like,share,like,like,like', 'love,like,share,like,love,like', 'share,like,share,like,like,like,share,like,share,like,like,hug','share,like,care,like,like,like']})
Name Interaction
0 John share,like,share,like,like,like
1 Sara love,like,share,like,love,like
2 Paul share,like,share,like,like,like,share,like,sha...
3 Guest share,like,care,like,like,like
我想创建第三列计算单个交互的数量为int
我做了什么:
df['likes'] = df[df['Interaction'] == 'like'].groupby('Name')['Interaction'].transform(lambda x: x[x.str.contains('like')].count())
我为分享、关心等做了同样的事情 但它不起作用!
Name Interaction likes shares
0 John share,like,share,like,like,like NaN NaN
1 Sara love,like,share,like,love,like NaN NaN
2 Paul share,like,share,like,like,like,share,like,sha... NaN NaN
3 Guest share,like,care,like,like,like NaN NaN
如何将每次互动计为int,然后在最后一列中找到每行的总数?
【问题讨论】:
标签: python python-3.x pandas dataframe