如何按pandas数据框中的单词对统计数据进行分组

我想逐字逐句地对熊猫数据进行聚合.

基本上有3列具有相应短语的点击/印象计数.我想将这个短语分成标记,然后将它们的点击总结为标记,以确定哪个标记相对好/坏.

预期投入:熊猫数据框如下

   click_count  impression_count    text
1   10          100                 pizza
2   20          200                 pizza italian
3   1           1                   italian cheese

预期产量:

   click_count  impression_count  token
1   30         300                pizza      // 30 = 20 + 10, 300 = 200+100        
2   21         201                italian    // 21 = 20 + 1
3   1           1                 cheese     // cheese only appeared once in italian cheese

最佳答案

tokens = df.text.str.split(expand=True)
token_cols = ['token_{}'.format(i) for i in range(tokens.shape[1])]
tokens.columns = token_cols

df1 = pd.concat([df.drop('text', axis=1), tokens], axis=1)
df1

《如何按pandas数据框中的单词对统计数据进行分组》

df2 = pd.lreshape(df1, {'tokens': token_cols})
df2

《如何按pandas数据框中的单词对统计数据进行分组》

df2.groupby('tokens').sum()

《如何按pandas数据框中的单词对统计数据进行分组》

点赞