我有一个大的(大约1200万行)数据帧df,比如:
df.columns=['word','documents','frequency']
因此,以下内容及时发布:
word\u grouping=df[['word','frequency']]。groupby('word'))
MaxFrequency\u perWord=word\u分组[['frequency']].max().reset\u index()
MaxFrequency_perWord.columns=['word','MaxFrequency']
但是,这需要花费意外的长时间来运行:
单词的出现次数=单词分组[['word']]。计数()。重置索引()
我做错了什么?有没有更好的方法来计算大型数据帧中的事件数
df.word.description()
运行得很好,所以我真的没想到这个单词的数据框架会花费很长时间来构建
附言:如果答案很明显,你觉得有必要惩罚我问这个问题,请把答案也包括在内。多谢各位
我认为df['word'].value\u counts()应该有用。跳过groupby机器,您将节省一些时间。我不确定为什么count应该比max慢得多。两者都需要一些时间来避免丢失值。(与尺寸相比)
在任何情况下,value_counts都经过了专门优化,以处理对象类型,如您的文字,因此我怀疑您是否会做得更好