我想逐字逐句地对熊猫数据进行聚合.
基本上有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
df2 = pd.lreshape(df1, {'tokens': token_cols})
df2
df2.groupby('tokens').sum()