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

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

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

该方法有一个名为offset的参数,我们还可以指定偏移数据的长度以选择在此限制内的行。

first()方法将返回一个新的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)

解释

在这里,我们使用了offset为“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对象。然后,我们尝试获取索引在3个月内的行。

# 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

第一种方法成功地返回了包含5行数据的新系列对象。这5行数据的索引都在前3个月之内。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

Pandas 精选笔记