首頁 > 後端開發 > Python教學 > 如何檢索 Pandas DataFrame 中每行具有最大值的列的名稱?

如何檢索 Pandas DataFrame 中每行具有最大值的列的名稱?

Mary-Kate Olsen
發布: 2024-11-28 12:41:12
原創
693 人瀏覽過

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.00. 0.083333<br>0 0.617021 0.042553 0.297872 0.042553<br>0 0.435897 0.000000 0.410256 0.15384635338035 0.076923 0.410256 0.153846<br>
登入後複製

我們的目標是建立一個標記為「Max」的新列,其中包含與每行中的最大值相關聯的列名稱。所需的輸出類似以下:

Communications and Search Business General Lifestyle Max<p>0 0.745763 0.050847 0.118644 0.084746 Communications <br>0 0.118644 0.084746 Communications <br>0 0.3033830303030303038 0.083333 商業 <br>0 0.617021 0.042553 0.297872 0.042553 通訊 <br>0 0.435897 0.000000 通訊 <br>0 0.435897 0.000000 通訊 <br>0 0.435897 0.000000 0.410256 . 0.076923 0.410256 0.153846 商業</p>
登入後複製

要實現此目的,我們可以使用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)
登入後複製

透過使用idxmax 函數:透過使用idxmax 函數並將我們使用idxmax 函數將我們參數確定每行具有最大值的列索引。然後使用此資訊建立一個名為“Max”的新列,該列標識每行最大值的相應列名稱。產生的 DataFrame 顯示了請求的格式。

以上是如何檢索 Pandas DataFrame 中每行具有最大值的列的名稱?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板