pandas series.first_valid_index() 方法是如何工作的?


pandas series.first_valid_index() 方法用于获取第一个有效数据的索引。这意味着 first_valid_index() 方法返回序列中第一个非空元素的索引。

它将根据序列索引的类型返回单个标量值,如果给定的序列包含所有空/NA 值或为空,则返回 None。first_valid_index() 方法不接受任何参数。

示例 1

让我们创建一个序列对象,并尝试检索第一个有效索引。

# importing packages
import pandas as pd
import numpy as np

# create a series
s = pd.Series([None, np.nan, 27, 61,np.nan, 34, 52, np.nan, 17], index=list('abcdefghi'))
print(s)

# apply first_valid_index() method
result = s.first_valid_index()

print("Result:")
print(result)

解释

最初,我们使用 pandas.Series 构造函数和一组 Nan 和整数值创建了一个 pandas 序列对象,序列的索引由索引参数和一个字符串列表指定。

输出

输出如下:

a    NaN
b    NaN
c    27.0
d    61.0
e    NaN
f    34.0
g    52.0
h    NaN
i    17.0
dtype: float64

Result:
c

对于上面的示例,第一个有效索引是“c”,因为索引位置 a、b 处的元素为空/NA 值。

示例 2

在这里,让我们创建一个空的序列对象,看看 first_valid_index() 方法在空序列中的工作方式。

# importing packages
import pandas as pd

# create a series
sr = pd.Series([])
print(sr)

# apply first_valid_index() method
result = sr.first_valid_index()

print("Result:")
print(result)

输出

输出如下:

Series([], dtype: float64)
Result:
None

对于空序列对象,first_valid_index() 方法返回 None。

示例 3

在下面的示例中,我们创建了一个包含所有空/Nan 值的 pandas 序列对象,并应用 first_valid_index() 方法来获取第一个有效索引。

# importing packages
import pandas as pd
import numpy as np

# create a series
sr = pd.Series([None, np.nan])
print(sr)

# apply first_valid_index() method
result = sr.first_valid_index()

print("Result:")
print(result)

输出

输出如下:

0    NaN
1    NaN
dtype: float64

Result:
None

对于此示例,first_valid_index() 方法也返回 None,因为给定的序列对象中没有有效的元素。

更新于:2022年3月7日

979 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告