[解決済み] pandasで出現回数をカウントする最も効率的な方法は何ですか?
2022-04-20 14:36:01
質問
大きな(約12M行の)データフレーム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が 特に最適化された は、あなたの言葉のようにオブジェクト型を扱うため、それ以上のことはできないでしょう。
関連
-
[解決済み】なぜ「LinAlgError: Grangercausalitytestsから「Singular matrix」と表示されるのはなぜですか?
-
[解決済み] Pythonのリストメソッドであるappendとextendの違いは何ですか?
-
[解決済み] リスト項目の出現回数を数えるにはどうしたらいいですか?
-
[解決済み] Pythonで型をチェックする標準的な方法は何ですか?
-
[解決済み] Pandas DataFrameの行数を取得する方法は?
-
[解決済み] Pythonでホームディレクトリを取得するための正しいクロスプラットフォームな方法は何ですか?
-
[解決済み】__str__と__repr__の違いは何ですか?
-
[解決済み】type()とisinstance()の違いは何ですか?)
-
[解決済み】文字列中のある文字の出現回数をカウントする
-
[解決済み】pandasでdataframeをループする最も効率的な方法は何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
python call matlab メソッドの詳細
-
python string splicing.join()とsplitting.split()の説明
-
PythonはWordの読み書きの変更操作を実装している
-
Python jiabaライブラリの使用方法について説明
-
[解決済み】お使いのCPUは、このTensorFlowバイナリが使用するようにコンパイルされていない命令をサポートしています。AVX AVX2
-
[解決済み】pygame.error: ビデオシステムが初期化されていない
-
[解決済み】「SyntaxError.Syntax」は何ですか?Missing parentheses in call to 'print'」はPythonでどういう意味ですか?
-
[解決済み】Python: SyntaxError: キーワードは式になり得ない
-
[解決済み】 TypeError: += でサポートされていないオペランド型: 'int' および 'list' です。
-
[解決済み】django インポートエラー - core.managementという名前のモジュールがない