Menu

Pandas DataFrame first valid index() Method

Pandas DataFrame first_valid_index() Method

In this tutorial, we will learn the Python pandas DataFrame.first_valid_index() method. By using this method, we can get the index for the first non-NA/null value. It returns a scalar that is the type of index. It returns None if all elements are non-NA/null and also returns None for empty DataFrame.

The below shows the syntax of the DataFrame.first_valid_index().

Syntax

DataFrame.first_valid_index()

Example: The DataFrame.first_valid_index() Method

Create the DataFrame with null values and get the index of the first non-NA value using the DataFrame.first_valid_index() method.

#importing pandas as pd
import pandas as pd
#importing numpy as np
import numpy as np
df = pd.DataFrame([[np.nan, np.nan, np.nan],[np.nan, 2,5],[1, 3, 4],[np.nan,3,np.nan],[2, 8, 0],[7, 5, 4]],columns=list('ABC'))
print("-----The DataFrame is-----")
print(df)
print("Index for first non-NA/null value is:",df.first_valid_index())

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

Output:

-----The DataFrame is-----

A B C

0 NaN NaN NaN

1 NaN 2.0 5.0

2 1.0 3.0 4.0

3 NaN 3.0 NaN

4 2.0 8.0 0.0

5 7.0 5.0 4.0

Index for first non-NA/null value is: 1

Example: Find index for the first non-NA/null value using the DataFrame.first_valid_index() Method

This is another example to better understand the first_valid_index() method.

#importing pandas as pd
import pandas as pd
#importing numpy as np
import numpy as np
df = pd.DataFrame([[np.nan, np.nan, np.nan],[np.nan, np.nan, np.nan],[np.nan, np.nan, np.nan],[np.nan,3,np.nan],[2, 8, 0],[7, 5, 4]],columns=list('ABC'))
print("-----The DataFrame is-----")
print(df)
print("Index for first non-NA/null value is:",df.first_valid_index())

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

Output:

-----The DataFrame is-----

A B C

0 NaN NaN NaN

1 NaN NaN NaN

2 NaN NaN NaN

3 NaN 3.0 NaN

4 2.0 8.0 0.0

5 7.0 5.0 4.0

Index for first non-NA/null value is: 3

Example: The DataFrame contains all null Values

The DataFrame.first_valid_index() method returns None if all elements are non-NA/null.

#importing pandas as pd
import pandas as pd
#importing numpy as np
import numpy as np
df = pd.DataFrame([[np.nan, np.nan, np.nan],[np.nan, np.nan, np.nan],[np.nan, np.nan, np.nan],[np.nan, np.nan, np.nan]],columns=list('ABC'))
print("-----The DataFrame is-----")
print(df)
print("Index for first non-NA/null value is:",df.first_valid_index())

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

Output:

-----The DataFrame is-----

A B C

0 NaN NaN NaN

1 NaN NaN NaN

2 NaN NaN NaN

3 NaN NaN NaN

Index for first non-NA/null value is: None

Conclusion

In this tutorial, we learned the Python pandas DataFrame.first_valid_index() method. We learned the syntax and by applying this method on the DataFrame we solved examples and understood the DataFrame.first_valid_index() method.