Many datasets have rows representing different entities, each with multiple columns representing data about the entities. Sometimes, it becomes necessary to identify the specific column that contains the maximum value for each row. This task can be achieved using the idxmax() function.
In the given example, we have a DataFrame with four columns: "Communications and Search," "Business," "General," and "Lifestyle." We want to create a new column, "Max," that contains the column name corresponding to the maximum value of each row.
To do this, we can use idxmax(axis=1) to find the column index with the maximum value:
df.idxmax(axis=1) # Output: 0 Communications 1 Business 2 Communications 3 Communications 4 Business dtype: object
This gives us the column labels, but we can convert them to the corresponding column names:
df['Max'] = df.idxmax(axis=1)
The resulting DataFrame will look like this:
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 |
Note that idxmax() can also be used to find the row index at which the maximum value occurs in each column, using df.idxmax() (or df.idxmax(axis=0)).
The above is the detailed content of How to Find the Column Name with the Maximum Value for Each Row in a DataFrame?. For more information, please follow other related articles on the PHP Chinese website!