多くのデータセットには、さまざまなエンティティを表す行があり、各行にはエンティティに関するデータを表す複数の列があります。場合によっては、各行の最大値を含む特定の列を識別することが必要になることがあります。このタスクは、idxmax() 関数を使用して実現できます。
この例では、「コミュニケーションと検索」、「ビジネス」、「全般」、「ライフスタイル」の 4 つの列を持つ DataFrame があります。各行の最大値に対応する列名を含む新しい列「Max」を作成したいと考えています。
これを行うには、idxmax(axis=1) を使用して列インデックスを見つけることができます。最大値:
df.idxmax(axis=1) # Output: 0 Communications 1 Business 2 Communications 3 Communications 4 Business dtype: object
これにより列ラベルが得られますが、それらを対応する列名に変換できます:
df['Max'] = df.idxmax(axis=1)
結果の DataFrame は次のようになります:
communications and search | business | general | lifestyle | max |
---|---|---|---|---|
0.745763 | 0.050847 | 0.118644 | 0.084746 | Communications |
0.333333 | 0.000000 | 0.583333 | 0.083333 | Business |
0.617021 | 0.042553 | 0.297872 | 0.042553 | Communications |
0.435897 | 0.000000 | 0.410256 | 0.153846 | Communications |
0.358974 | 0.076923 | 0.410256 | 0.153846 | Business |
idxmax() は、df.idxmax() (または df.idxmax(軸=0)).
以上がDataFrame の各行の最大値を持つ列名を見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。