是否可以根据另一列中的常用单词对行求和,并计算这些单词加在一起的次数



很抱歉问了这么长的问题。我一定会澄清的。我有一个数据帧,看起来有点像这样:在[1]:df中输出[1]:

likes num_comments words
0    324   1032         song
1    123   4399         bird       
2    500   4993         pie
3    453   2003         bird
4    34    132          lucky
...                     ...
943  129   259          bird
944  594   5993         lucky
945  234   642          bird
946  95    813          song
947  461   6122         pie

我想要一个数据帧,通过梳理所有相同的单词,将这个大的数据帧缩小为一个小的数据帧。我还想把他们的点赞和评论数量汇总在一起,然后我想添加一列,添加他们在原始数据帧中出现的次数。也就是说,我想要这样的东西:

在[2]中:df2输出[2]:

likes num_comments words frequency
0    419   2035         song  2
1    939   7303         bird  4  
2    961   11115        pie   2
4    628    6155        lucky 2

等等。。。

但我甚至不确定这是否可能。请注意,我想在一个非常大的数据帧中组合大量独特的单词。我试着把单词和结合起来

df1 = df.grouby('word')

但当我打印时,我得到了这个输出:

<pandas.core.groupby.generic.DataFrameGroupBy object at 0x000001146E8883D0>

你可以做:

frequency = df["words"].value_counts().tolist()
out = (
df.groupby("words", as_index=False)
.agg({col: "sum" for col in df.columns.drop("words")})
.assign(frequency=frequency)
)

您可以制作一个数据透视表

df_pivot = pd.pivot_table(df,
index='words',
aggfunc=['sum', 'count']).reset_index()

然后放下额外的柱

最新更新