Pandas series.first_valid_index() 方法是如何工作的
pandas series.first_valid_index() 方法用于获取第一个有效数据的索引。这意味着 first_valid_index() 方法返回系列的第一个非空元素的索引。
它将基于系列索引的类型返回单个标量,并在给定系列具有所有null/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构造函数创建了一个pandas系列对象,其中包含了NaN和整数值的列表,并且系列的索引由一个字符串列表的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()方法是如何工作的。
# 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()方法在空的series对象中返回了None。
示例3
在下面的示例中,我们创建了一个所有值都为Null/Nan的pandas series对象,并应用了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
将下面的英文翻译成中文,不解释,保留HTML格式:
对于这个示例,first_valid_index() 方法也返回了 None,因为在给定的 Series 对象中没有有效的元素。