Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk mendapatkan semula nama lajur dengan nilai maksimum untuk setiap baris dalam Pandas DataFrame?

Bagaimana untuk mendapatkan semula nama lajur dengan nilai maksimum untuk setiap baris dalam Pandas DataFrame?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-28 12:41:12712semak imbas

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

Mendapatkan Nama Lajur Nilai Maksimum untuk Setiap Baris

Dalam DataFrame yang terdiri daripada pelbagai lajur dan baris, tugas biasa adalah untuk mengenal pasti lajur dengan nilai maksimum untuk setiap baris. Pertimbangkan DataFrame berikut:

Gaya Hidup Umum Perniagaan Komunikasi dan Carian<br>0 0.745763 0.050847 0.118644 0.084746<br>0 0.3330303 0.3330333 0.3330333 0.083333<br>0 0.617021 0.042553 0.297872 0.042553<br>0 0.435897 0.000000 0.410256 0.153846 0.153846< 0.153846 0.076923 0.410256 0.153846<br>

Matlamat kami ialah untuk mencipta lajur baharu, dilabelkan sebagai 'Maks', yang mengandungi nama lajur yang dikaitkan dengan nilai maksimum dalam setiap baris. Output yang diingini menyerupai yang berikut:

Komunikasi dan Perniagaan Carian Gaya Hidup Umum Maks<p>0 0.745763 0.050847 0.118644 0.084746 Komunikasi <br>0 0.00.3030 0.30333 0.083333 Perniagaan <br>0 0.617021 0.042553 0.297872 0.042553 Komunikasi <br>0 0.435897 0.000000 0.042553 0.297872 0.042553 Komunikasi <br>0 0.435897 0.000000 0.410256 0.153846 0.153846 0.076923 0.410256 0.153846 Perniagaan <br>

Untuk mencapainya, kita boleh menggunakan fungsi 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)
Dengan menggunakan set parameter idxmax dengan set parameter idxmax , kami menentukan indeks lajur dengan nilai maksimum untuk setiap satu barisan. Maklumat ini kemudiannya digunakan untuk membuat lajur baharu bernama 'Maks', yang mengenal pasti nama lajur yang sepadan untuk nilai maksimum setiap baris. DataFrame yang terhasil mempamerkan format yang diminta.

Atas ialah kandungan terperinci Bagaimana untuk mendapatkan semula nama lajur dengan nilai maksimum untuk setiap baris dalam Pandas DataFrame?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn