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

pandasserver side programmingprogramming更新于 2025/5/21 2:37:17

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

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

示例 1

让我们获取一个系列对象并尝试检索第一个有效索引。

# 导入包
import pandas as pd
import numpy as np

# 创建系列
s = pd.Series([None, np.nan, 27, 61,np.nan, 34, 52, np.nan, 17], index=list('abcdefghi'))
print(s)

# 应用 first_valid_index() 方法
result = s.first_valid_index()

print("Result:")
print(result)

解释

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

输出

输出如下 −

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 处的元素为 Null/NA 值。

示例 2

这里,我们以一个空系列对象为例,看看 first_valid_index() 方法如何对空系列起作用。

# 导入包
import pandas as pd

# 创建系列
sr = pd.Series([])
print(sr)

# 应用 first_valid_index() 方法
result = sr.first_valid_index()

print("Result:")
print(result)

输出

输出如下所示 −

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

first_valid_index() 方法对空系列对象返回 None。

示例 3

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

# 导入包
import pandas as pd
import numpy as np

# 创建系列
sr = pd.Series([None, np.nan])
print(sr)

# 应用 first_valid_index() 方法
result = sr.first_valid_index()

print("Result:")
print(result)

输出

输出如下所示 −

0    NaN
1    NaN
dtype: float64

Result:
None

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


相关文章