基于多准则的多列大Pandas计数

2024-09-30 20:27:41 发布

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

我有一个“单词”的列表,我想在下面数一数

word_list = ['one','two','three']

我在pandas dataframe中有一个列,下面是文本。在

^{pr2}$

我想要的输出如下所示,在这里,我要使用“text”列中找到的数据,计算与word_列表中任何单词相关的文本的唯一用户数。在计算完唯一用户数后,我还想统计一下每个tweet相关的关注者总数,关联到唯一用户数的单词。在

^{3}$

在Python2.7中有没有一种方法可以做到这一点?在


Tags: 数据text文本dataframepandas列表单词one
1条回答
网友
1楼 · 发布于 2024-09-30 20:27:41

我把台阶拆下来

df.columns=['TEXT','USER','ID']

df[word_list]=df.TEXT.str.lower().apply(lambda x : pd.Series([x.find(y) for y in word_list])).ne(-1)
df1=df[['USER','one','two','three','ID']].set_index(['USER','ID']).astype(int).replace({0:np.nan})
Target=df1.stack().reset_index().groupby('level_2').agg({'USER':lambda x : len(set(x)),'ID':lambda x : sum(set(x))})
Target=Target.reset_index()
Target.columns=['Word','Unique User Count','ID Sum']
Target
Out[97]: 
    Word  Unique User Count  ID Sum
0    one                  3     450
1  three                  1     150
2    two                  2     250

相关问题 更多 >