计算大熊猫数量的最有效方法是什么?
问题内容:
我有一个大的(约1200万行)数据帧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()
我在这里做错了什么?有没有更好的方法来计算大型数据框中的出现次数?
df.word.describe()
运行良好,所以我真的没想到这个Occurrences_of_Words数据框架会花费很长时间。
ps:如果答案很明显,并且您觉得有必要因提出这个问题而对我不利,请同时提供答案。谢谢。
问题答案:
我认为df['word'].value_counts()
应该服务。通过跳过groupby机制,您可以节省一些时间。我不知道为什么count
要慢于max
。两者都需要一些时间来避免丢失值。(与进行比较size
。)
无论如何,对value_counts进行了专门优化以处理像您的单词这样的对象类型,因此我怀疑您会做得更好。