Python 如何根据关键字的长度对数据帧中的数字求和?

Python 如何根据关键字的长度对数据帧中的数字求和?,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个搜索引擎DataFrame的示例,它有两列:输入要搜索的关键字和该关键字的搜索次数。 例如: 我想总结一下对由1个词、2个词、3个词等组成的关键词进行了多少次搜索(不仅仅是计算字数)。因此最终结果必须如下所示: 1 word: 13 2 words: 9 3 words: 2 4 words: 1 有什么建议吗?您可以这样做: 首先,确保您的搜索次数列为整数数据类型: df['number of searches'] = df['number of searches'].astype(

我有一个搜索引擎DataFrame的示例,它有两列:输入要搜索的关键字和该关键字的搜索次数。 例如:

我想总结一下对由1个词、2个词、3个词等组成的关键词进行了多少次搜索(不仅仅是计算字数)。因此最终结果必须如下所示:

1 word: 13
2 words: 9
3 words: 2
4 words: 1

有什么建议吗?

您可以这样做:

首先,确保您的
搜索次数
列为整数数据类型:

df['number of searches'] = df['number of searches'].astype(int)

(df.groupby(df.keyword.str.split().apply(len))['number of searches']
   .sum()
   .to_frame()
   .reset_index()
   .apply(lambda x: '{0[0]} words: {0[1]}'.format(x), axis=1)
)
输出:

0    1 words: 12
1     2 words: 9
2     3 words: 2
3     4 words: 1
dtype: object

我不需要计数,我需要根据另一列求和。好的,对不起,我在扫描字符串文字时删除了我的
close
voteGot错误:SyntaxError:EOL。我想lambda func一定有关门?
0    1 words: 12
1     2 words: 9
2     3 words: 2
3     4 words: 1
dtype: object