3 つの文字列列を含むデータ フレームをクリーンアップして、次のことを確認する必要があります。 3 番目の列には、最初の 2 つの列の指定された組み合わせに対する正しい値が含まれます。指定したコード スニペットは、最初の 2 つの列でデータ フレームをグループ化し、各組み合わせに対して 3 番目の列の最も一般的な値を選択しようとします。ただし、agg 関数を実行しようとすると問題が発生します。
コードで使用した構文は古いです。代わりに、Pandas バージョン 0.16 以降で利用できる pd.Series.mode 関数を利用してください。この関数は、一連の文字列の中で最も一般的な値を返します。適用方法は次のとおりです。
source.groupby(['Country','City'])['Short name'].agg(pd.Series.mode)
この構文は、データ フレームを「国」と「市」でグループ化し、pd.Series.mode 関数を各グループの「短い名前」列に適用して、 results.
データフレームとして出力が必要な場合は、これを使用してくださいline:
source.groupby(['Country','City'])['Short name'].agg(pd.Series.mode).to_frame()
pd.Series.mode 関数は、複数のモードが存在する状況も効果的に処理します。たとえば、複数の値が最も一般的な値と同じ頻度で発生する場合、それらはモードのリストとして返されます。
Python 標準ライブラリの統計情報.mode 関数を使用できます。ただし、このアプローチは複数のモードを扱う場合にはうまく機能しません。最も一般的な値が 1 つもない場合、StatisticsError が発生します。
以上がグループ化後に Pandas DataFrame 列で最も一般的な値を見つける方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。