如何使用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 行的索引都在前三个月内。
广告