ホームページ > バックエンド開発 > Python チュートリアル > Pandas DataFrame の各行の最大値を持つ列の名前を取得するにはどうすればよいですか?

Pandas DataFrame の各行の最大値を持つ列の名前を取得するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-28 12:41:12
オリジナル
641 人が閲覧しました

How to retrieve the name of the column with the maximum value for each row in a Pandas DataFrame?

各行の最大値列名の取得

さまざまな列と行で構成される DataFrame での一般的なタスクは、各行の最大値を含む列。次の DataFrame について考えてみましょう:

コミュニケーションと検索 ビジネスの一般的なライフスタイル<br>0 0.745763 0.050847 0.118644 0.084746<br>0 0.333333 0.000000 0.583333 0.083333<br>0 0.617021 0.042553 0.297872 0.042553<br>0 0.435897 0.000000 0.410256 0.153846<br>0 0.358974 0.076923 0.410256 0.153846<br>

私たちの目標は、各行の最大値に関連付けられた列名を含む、「Max」というラベルの付いた新しい列を作成することです。目的の出力は次のようになります。

通信と検索 ビジネス全般 ライフスタイル Max<br>0 0.745763 0.050847 0.118644 0.084746 Communications <br>0 0.333333 0.000000 0.583333 0.083333 ビジネス <br>0 0.617021 0.042553 0.297872 0.042553 通信 <br>0 0.435897 0.000000 0.410256 0.153846 通信 <br>0 0.358974 0.076923 0.410256 0.153846 Business <br>

これを達成するには、idxmax 関数を使用できます。

import pandas as pd

# Create a DataFrame
df = pd.DataFrame({
    'Communications and Search': [0.745763, 0.333333, 0.617021, 0.435897, 0.358974],
    'Business': [0.050847, 0.000000, 0.042553, 0.000000, 0.076923],
    'General': [0.118644, 0.583333, 0.297872, 0.410256, 0.410256],
    'Lifestyle': [0.084746, 0.083333, 0.042553, 0.153846, 0.153846]
})

# Find the column index with the maximum value in each row
max_column_idxs = df.idxmax(axis=1)

# Create a new column with the column names
df['Max'] = max_column_idxs

# Display the updated DataFrame
print(df)
ログイン後にコピー

axis パラメーターを 1 に設定して idxmax 関数を利用します。 、各行の最大値で列インデックスを決定します。次に、この情報を使用して「Max」という名前の新しい列が作成され、各行の最大値に対応する列名が識別されます。結果として得られる DataFrame は、要求された形式を示します。

以上がPandas DataFrame の各行の最大値を持つ列の名前を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート