【Pandas】pandas Series last_valid_index
Pandas2.2 Series
Time Series-related
方法 | 描述 |
---|---|
Series.asfreq(freq[, method, how, …]) | 用于将时间序列数据转换为指定的频率 |
Series.asof(where[, subset]) | 用于返回时间序列中指定索引位置的最近一个非缺失值 |
Series.shift([periods, freq, axis, …]) | 用于将时间序列数据沿指定轴移动指定的周期数 |
Series.first_valid_index() | 用于返回时间序列中第一个非缺失值(非 NaN )的索引 |
Series.last_valid_index() | 用于返回时间序列中最后一个非缺失值(非 NaN )的索引 |
pandas.Series.last_valid_index
pandas.Series.last_valid_index()
方法用于返回时间序列中最后一个非缺失值(非 NaN
)的索引。如果整个序列都是缺失值,则返回 None
。
详细描述
- 参数:
- 无参数。
- 返回值:
- 返回最后一个非缺失值的索引。如果序列中没有非缺失值,则返回
None
。
- 返回最后一个非缺失值的索引。如果序列中没有非缺失值,则返回
示例代码及结果
import pandas as pd
import numpy as np# 创建一个带有缺失值的时间序列
dates = pd.date_range(start='2023-10-01', periods=5, freq='D')
s = pd.Series([1, 2, np.nan, 4, np.nan], index=dates)print("原始 Series:")
print(s)# 获取最后一个非缺失值的索引
last_valid = s.last_valid_index()print("\n最后一个非缺失值的索引:")
print(last_valid)
输出结果
原始 Series:
2023-10-01 1.0
2023-10-02 2.0
2023-10-03 NaN
2023-10-04 4.0
2023-10-05 NaN
Freq: D, dtype: float64最后一个非缺失值的索引:
2023-10-04 00:00:00
结果解释
- 在示例中,原始
Series
包含两个缺失值 (NaN
) 和三个非缺失值。 - 使用
last_valid_index()
方法找到最后一个非缺失值的索引,即2023-10-04
。 - 如果整个序列都是缺失值,则返回
None
。
这种方法非常适用于需要快速定位时间序列中最后一个有效数据点的场景,例如在处理金融数据或日志数据时,确定最新的有效记录位置。