Mam dużą (około 12 mln wierszy) df ramki danych z powiedzmy:
df.columns = ['word','documents','frequency']
Tak więc następujące działania przebiegały w odpowiednim czasie:
word_grouping = df[['word','frequency']].groupby('word')
MaxFrequency_perWord = word_grouping[['frequency']].max().reset_index()
MaxFrequency_perWord.columns = ['word','MaxFrequency']
Jednak to trwa nieoczekiwanie długo:
Occurrences_of_Words = word_grouping[['word']].count().reset_index()
Co ja tu robię źle? Czy istnieje lepszy sposób zliczania wystąpień w dużej ramce danych?
df.word.describe()
działał całkiem nieźle, więc naprawdę nie spodziewałem się, że ta ramka danych Occurrences_of_Words potrwa bardzo długo.
ps: Jeśli odpowiedź jest oczywista i czujesz potrzebę ukarania mnie za zadanie tego pytania, dołącz również odpowiedź. Dziękuję Ci.
df.word.value_counts()['myword']
jest około dwa razy szybszy niżlen(df[df.word == 'myword'])
.