Trusted answers to developer questions
Trusted Answers to Developer Questions

Related Tags

python
communitycreator
pandas

What is DataFrame.first_valid_index in pandas?

abhilash

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

Overview

The first_valid_index method is used to return the index for the first non-NA or None value. The method returns None for the following conditions:

  1. If all elements are non-NA or None.
  2. If the DataFrame is empty.

Note: Click here to learn more about the pandas library.

Syntax

DataFrame.first_valid_index()

Parameter

The method has no parameters.

Example

import pandas as pd
import numpy as np
def index(dataframe):
print("DataFrame is:")
print(dataframe)
print("Index of the first non-NA/null value is - ", dataframe.first_valid_index())
df = pd.DataFrame([[np.nan, np.nan, np.nan],[np.nan, 100,3],[1, 2, 3],[np.nan,-7,np.nan],[-9, -8, -7],[10, 8, 12]],columns=list('XYZ'))
df1 = 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],[10, 8, 12]],columns=list('XYZ'))
df2 = pd.DataFrame([[np.nan, np.nan, np.nan],[np.nan, np.nan, np.nan],[np.nan, np.nan, np.nan]],columns=list('XYZ'))
index(df)
index(df1)
index(df2)

Explanation

  • Lines 1-2: We import the pandas and numpy modules.
  • Lines 4–7: We define a function called index that accepts a DataFrame, prints it, and finds the first non-NA/null value index using the first_valid_index method.
  • Lines 10–12: We define three different DataFrames with different patterns.
  • Lines 14–16: We call the index method with different DataFrames.

Output

  1. The output for df indicates that the 1st row has a non-NA/non-null value in its columns.
  2. The output for df1 indicates that the 3rd row has a non-NA/non-null value in its columns.
  3. The output for df2 indicates that none of the rows have a non-null/non-NA value.

RELATED TAGS

python
communitycreator
pandas

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

Keep Exploring