ホームページ  >  記事  >  バックエンド開発  >  Pandas DataFrame の各行内の最大値を見つけて、対応する列ラベルを新しい列として追加するにはどうすればよいですか?

Pandas DataFrame の各行内の最大値を見つけて、対応する列ラベルを新しい列として追加するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-17 05:58:03436ブラウズ

How to find the maximum value within each row of a Pandas DataFrame and add the corresponding column label as a new column?

各行内の最大値を見つけて、対応する列ラベルを持つ新しい列を作成します

パンダを使用して DataFrame を作成し、各行の最大値を見つけます。これを行うには、パラメータ axis=1 とともに idxmax() 関数を使用します。これは、各行の列全体で最大値を見つける必要があることを指定します。結果は、最大値の列ラベルを含む Series になります。

これらのラベルを持つ新しい列を作成するには、結果を DataFrame 内の列に割り当てることができます。例:

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 label of the maximum value for each row
max_labels = df.idxmax(axis=1)

# Create a new column with the maximum values
df['Max'] = max_labels

# Print the resulting DataFrame
print(df)

出力:

   Communications and Search  Business   General  Lifestyle  Max
0                   0.745763  0.050847  0.118644  0.084746  Communications
1                   0.333333  0.000000  0.583333  0.083333     Business
2                   0.617021  0.042553  0.297872  0.042553  Communications
3                   0.435897  0.000000  0.410256  0.153846  Communications
4                   0.358974  0.076923  0.410256  0.153846     Business

これにより、「Max」という名前の新しい列が DataFrame に追加され、各行の最大値の列ラベルが含まれます。

以上がPandas DataFrame の各行内の最大値を見つけて、対応する列ラベルを新しい列として追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。