如何使用 pandas series.first() 方法获取行?

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

pandas series.first() 方法应该根据日期返回初始周期。通过应用此方法,我们可以根据日期偏移量获取时间序列数据的初始周期。

它有一个名为 offset 的参数,我们还可以提及偏移量数据的长度以选择限制内的行。

first() 方法将返回一个带有结果行的现在 Series 对象,如果输入系列对象的索引没有 DatetimeIndex,它将引发 TypeError。

示例 1

在下面的例子中,一个系列"s"是使用 pandas DateTime 索引创建的,其中月份名称与索引相对应。

# 导入包
import pandas as pd

# 创建日期
dates = pd.date_range('2021-08-15', periods=10, freq='m')

# 创建带有日期索引的 pandas Series
s = pd.Series(dates.strftime('%b'), index= dates)
print (s)

# 使用 first 方法获取行
result = s.first('1M')
print('Result:')
print(result)

解释

这里,我们应用了带有偏移量的 first() 方法“1M” 获取一个月内的行数。

输出

输出如下 −

2021-08-31    Aug
2021-09-30    Sep
2021-10-31    Oct
2021-11-30    Nov
2021-12-31    Dec
2022-01-31    Jan
2022-02-28    Feb
2022-03-31    Mar
2022-04-30    Apr
2022-05-31    May
Freq: M, dtype: object

Result:
2021-08-31    Aug
2021-09-30    Sep
Freq: M, dtype: object

我们可以看到两个系列对象,第一个是原始系列对象,第二个是结果系列对象。这里,我们得到了有 2 行的结果系列。

示例 2

以同样的方式,我们创建了一个带有 pandas DateTime 索引的 pandas 对象。之后,我们尝试获取索引在 3 个月内的行。

# 导入包
import pandas as pd

# 创建日期
dates = pd.date_range('2021-01-20', periods=10, freq='2W')

# 创建带有日期索引的 pandas Series
s = pd.Series(dates.strftime('%b'), index= dates)
print (s)

# 使用第一种方法获取行
result = s.first('3M')
print('Result:')
print(result)

输出

输出如下 −

2021-01-24    Jan
2021-02-07    Feb
2021-02-21    Feb
2021-03-07    Mar
2021-03-21    Mar
2021-04-04    Apr
2021-04-18    Apr
2021-05-02    May
2021-05-16    May
2021-05-30    May
Freq: 2W-SUN, dtype: object

Result:
2021-01-24    Jan
2021-02-07    Feb
2021-02-21    Feb
2021-03-07    Mar
2021-03-21    Mar
Freq: 2W-SUN, dtype: object

第一个方法成功返回了包含 5 行数据的新系列对象。并且这 5 行均包含前 3 个月内的索引。


相关文章