Menu

Pandas DataFrame combine first() Method

Pandas DataFrame combine_first() Method

In this tutorial, we will learn the Python pandas DataFrame.combine_first() method. It updates null elements with value in the same location in other and returns the DataFrame. It combines two DataFrame objects by filling null values in one DataFrame with non-null values from another DataFrame. The row and column indexes of the resulting DataFrame will be the union of the two.

The below shows the syntax of the DataFrame.combine_first() method.

Syntax

DataFrame.combine_first(other)

Parameters

other: It represents the other provided DataFrame to use to fill null values.

Example 1: Combine DataFrames using DataFrame.combine_first() Method

The below example shows how the DataFrame.combine_first() method.

#importing pandas as pd
import pandas as pd
df1 = pd.DataFrame({'A': [None, 0], 'B': [None, 4]})
df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})
print(df1.combine_first(df2))

Once we run the program we will get the following result.

Output:

A B 

0 1.0 3.0 

1 0.0 4.0

Example 2: Combine DataFrames using DataFrame.combine_first() Method

The below example is similar to the previous one, in this example try to add df1 DataFrame with df2 DataFrame and see the difference.

#importing pandas as pd
import pandas as pd
df1 = pd.DataFrame({'A': [None, 0], 'B': [None, 4]})
df2 = pd.DataFrame({'A': [1, 1], 'B': [3, 3]})
print(df2.combine_first(df1))

Once we run the program we will get the following result.

Output:

A B 

0 1 3 

1 1 3

Example 3: Combine If the same element in both dataframes is None

If the same element in both dataframes is None it combines two DataFrame objects by the same null values.

#importing pandas as pd
import pandas as pd
df1 = pd.DataFrame({'A': [None, 0], 'B': [None, 4]})
df2 = pd.DataFrame({'A': [None, 1], 'B': [None, 3]})
print(df1.combine_first(df2))

Once we run the program we will get the following result.

Output:

A B 

0 NaN NaN 

1 0.0 4.0

Example 4: Combine DataFrames using DataFrame.combine_first() Method

If the location of that null value does not exist in other, Null values still persist in the DataFrame.

import pandas as pd
df1 = pd.DataFrame({'A': [None, 0], 'B': [4, None]})
df2 = pd.DataFrame({'B': [3, 3], 'C': [1, 1]}, index=[1, 2])
print(df1.combine_first(df2))

Once we run the program we will get the following result.

Output:

A B C 

0 NaN 4.0 NaN 

1 0.0 3.0 1.0 

2 NaN 3.0 1.0

Conclusion

In this tutorial, we learned the Python pandas DataFrame.combine_first() method. We solved examples and understood the DataFrame.combine_first() method effectively fills the null values in the DataFrame as well as supply values for indices and columns that didn't exist in the first DataFrame.


Pandas Tutorial

AP

Abhishek Pati





Get in Touch For Details