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


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

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

first() 方法将返回一个新的 Series 对象,其中包含结果行,如果输入 Series 对象的索引不具有 DatetimeIndex,则会引发 TypeError。

示例 1

在下面的示例中,使用 pandas DateTime 索引创建了一个名为“s”的序列,其中索引对应月份名称。

# importing packages
import pandas as pd

# creating dates
dates = pd.date_range('2021-08-15', periods=10, freq='m')

#creating pandas Series with date index
s = pd.Series(dates.strftime('%b'), index= dates)
print (s)

# get the rows by using first method
result = s.first('1M')
print('Result:')
print(result)

解释

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

输出

输出如下:

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 对象。之后,我们尝试获取索引在三个月内的行。

# importing packages
import pandas as pd

# creating dates
dates = pd.date_range('2021-01-20', periods=10, freq='2W')

#creating pandas Series with date index
s = pd.Series(dates.strftime('%b'), index= dates)
print (s)

# get the rows by using first method
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

first 方法成功返回了包含 5 行数据的新序列对象。所有这 5 行的索引都在前三个月内。

更新于:2022年3月7日

浏览量:123

启动你的职业生涯

完成课程获得认证

开始学习
广告