很抱歉问了这么长的问题。我一定会澄清的。我有一个数据帧,看起来有点像这样:在[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()
然后放下额外的柱