计算熊猫出现次数的最有效方法是什么?

新手上路,请多包涵

我有一个大的(大约 1200 万行)DataFrame df

 df.columns = ['word','documents','frequency']

以下及时运行:

 word_grouping = df[['word','frequency']].groupby('word')
MaxFrequency_perWord = word_grouping[['frequency']].max().reset_index()
MaxFrequency_perWord.columns = ['word','MaxFrequency']

但是,这需要很长时间才能运行:

 Occurrences_of_Words = word_grouping[['word']].count().reset_index()

我在这里做错了什么?有没有更好的方法来计算大型 DataFrame 中的出现次数?

 df.word.describe()

运行得很好,所以我真的没想到这个 Occurrences_of_Words DataFrame 需要很长时间才能构建。

原文由 tipanverella 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 243
2 个回答

我认为 df['word'].value_counts() 应该服务。通过跳过 groupby 机器,您将节省一些时间。我不确定为什么 count 应该比 max 慢得多。两者都需要一些时间来避免缺失值。 (与 size 比较。)

无论如何,value_counts 已经 专门优化 来处理对象类型,就像你的话一样,所以我怀疑你会做得更好。

原文由 Dan Allan 发布,翻译遵循 CC BY-SA 3.0 许可协议

当您想计算 pandas dataFrame 中一列中分类数据的频率时,请使用: df['Column_Name'].value_counts()

- 来源

原文由 Dwaraka Uttarkar 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题