# 2 Methods to Find Maximum Value Across Multiple Columns in Pandas DataFrame

## Finding Max Value Across Multiple Columns in Pandas DataFrame

Working with data often involves finding the maximum value of a set of values, and it can be challenging when the data spans multiple columns. Fortunately, pandas DataFrame comes with built-in functions that make the task simple and fast.

In this article, we’ll explore two methods for finding the maximum value across multiple columns in a pandas DataFrame. We’ll also provide an example to illustrate each method, so you can easily follow along.

### Method 1: Find Max Value Across Multiple Columns

The first method we’ll discuss involves finding the maximum value across multiple columns. We can accomplish this by using the `max` function on a slice of the DataFrame that contains all the columns we want to examine.

Let’s say we have a DataFrame with three columns – “A,” “B,” and “C” – and we want to find the maximum value across all three columns. We can use the following code:

``````import pandas as pd
# create DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
# find max value across multiple columns
max_value = df[['A', 'B', 'C']].max().max()
# print result
print(max_value)
``````

Here, we first create a DataFrame with three columns A, B, and C with three rows. We then use double brackets to slice the DataFrame, extracting only the columns we want – A, B, and C.

By applying the `max` function twice, we convert the three-dimensional data to one value, and we obtain the maximum value of all three columns. In this case, the output would be 9, which is the maximum value in the DataFrame.

### Method 2: Add New Column Containing Max Value Across Multiple Columns

The second method we’ll discuss adds a new column to the DataFrame containing the maximum value across multiple columns. We can accomplish this by using the `apply` method and a lambda function.

Let’s again consider the same DataFrame from the first example with the three columns, A, B, and C. We can use the following code:

``````import pandas as pd
# create DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
# add new column containing max value across multiple columns
df['MaxValue'] = df.apply(lambda row: row.max(), axis=1)
# print result
print(df)
``````

Here, we first create the DataFrame with three columns A, B, and C. By using the `apply` method along with a lambda function, we find the maximum value of each row in the DataFrame.

We then add a new column to the DataFrame called “MaxValue,” which contains the maximum value across all three columns. In this case, the output would be:

``````   A  B  C  MaxValue
0  1  4  7         7
1  2  5  8         8
2  3  6  9         9
``````

In this case, the MaxValue column shows the maximum value of each row.

### Example 1: Find Max Value Across Multiple Columns

To exemplify our methods, let’s consider a real-world scenario.

Imagine a dataset with hourly prices for five commodities: gold, silver, oil, cotton, and coffee. We want to find the highest price of all commodities for every hour.

#### We can create the dataset by using a CSV file with the following structure:

``````Time,Gold,Silver,Oil,Cotton,Coffee
00:00:00,1165.30,16.14,71.26,92.50,113.70
00:01:00,1165.11,16.15,71.25,92.50,113.70
00:02:00,1165.02,16.14,71.24,92.50,113.70
...
``````

#### We can then use the following code to read the CSV file and find the maximum price across all five columns:

``````import pandas as pd
# find max value across multiple columns
max_value = df[['Gold', 'Silver', 'Oil', 'Cotton', 'Coffee']].max().max()
# print result
print(max_value)
``````

By slicing the DataFrame with double brackets and calling the `max` function twice, we obtain the highest price for all five commodities across all rows.

### Conclusion

Finding the maximum value across multiple columns is a practical task when working with datasets in pandas. We explained two methods for showcasing how to accomplish this task with ease.

The first method uses the `max` function to slice and get direct maximum value while the second method creates a new column containing that maximum value per row. We also provided an example to illustrate each method so that you can quickly replicate and adapt to your future projects.

With these two methods in hand, you can effectively extract valuable insights from multivariate datasets in pandas.

### Example 2: Add New Column Containing Max Value Across Multiple Columns

As mentioned earlier, finding the maximum value across multiple columns in pandas data frame is a common task.

In addition to finding the maximum value directly, another method is to add a new column that contains the maximum value across multiple columns in each row. This will allow you to filter and sort the data based on the maximum value, making your analysis process more flexible.

Let’s consider another example to illustrate this method. Suppose you have a dataset of employee salaries for a company, organized by department.

You want to add a new column named “MaxSalary” that contains the maximum salary for each department. The data might look something like this:

``````Department  EmployeeName  Salary
Marketing   Alice         60000
Marketing   Bob           70000
Marketing   Charlie       75000
Sales       Dan           80000
Sales       Erin          90000
Sales       Frank         85000
``````

To add a new column containing the maximum salary, you can use a lambda function and the `apply` method. The lambda function takes a row of data and returns the maximum salary in that row.

The `apply` method applies this function to each row of the DataFrame, resulting in a new column with the maximum salary for each department. Here’s the code to accomplish this:

``````import pandas as pd
# add new column containing max value across multiple columns
df['MaxSalary'] = df[['Salary']].apply(lambda row: row.max(), axis=1)
# print result
print(df)
``````

#### The resulting DataFrame will look like this:

``````Department  EmployeeName  Salary  MaxSalary
Marketing   Alice         60000   75000
Marketing   Bob           70000   75000
Marketing   Charlie       75000   75000
Sales       Dan           80000   90000
Sales       Erin          90000   90000
Sales       Frank         85000   90000
``````

As you can see, the new column “MaxSalary” contains the maximum salary for each department, which allows you to easily filter or sort the data based on the highest salary.

Pandas data frame is a powerful tool for data analysis, and there are many resources available to help you get the most out of it. Here are some additional resources that you can use to expand your knowledge:

1. The Pandas documentation: The official documentation provides a comprehensive guide to all aspects of the Pandas library, including the use of data frames. It’s an excellent resource for getting started and for looking up specific functions or methods.

2. Stack Overflow: This is a great resource for getting answers to specific questions or problems you encounter while working with Pandas data frames.

Many experienced data analysts and programmers are active on the site and are often willing to share their expertise.

3. DataCamp: DataCamp offers a variety of online courses on data analysis, including several courses on using Pandas for data frames. These courses are excellent for beginners and can help you quickly get up to speed with the basics.

4. The Python Data Science Handbook: This book by Jake VanderPlas provides an in-depth guide to using Python for data analysis, including a comprehensive guide to using Pandas data frames.

It’s an excellent resource for intermediate to advanced users who want to take their knowledge to the next level.

By utilizing these resources, you can enhance your skills and become more efficient with analyzing data frames in Pandas.

In conclusion, this article discussed two methods for finding the maximum value across multiple columns in a pandas DataFrame. The first method involves finding the maximum value directly using the `max` function, while the second method involves adding a new column containing the maximum value for each row using a lambda function and the `apply` method.

Examples were provided to illustrate each method, which we can apply in real-world scenarios. It is essential to learn how to find the maximum value across multiple columns in pandas data frames since it is a common task when working with data.

By employing these methods, we can obtain valuable insights, filter, or sort the data for better analysis. Through resources such as the Pandas documentation, Stack Overflow, DataCamp, and The Python Data Science Handbook, one can expand their knowledge of pandas data frame to enhance their skills with data analysis.