我很好奇在这个特定实例中做什么last()
和做什么(当链接到重新采样时)。first()
如果我错了,请纠正我,但我理解你是否将参数传递给第一个和最后一个,例如 3;它返回前 3 个月或前 3 年。
在这种情况下,由于我没有将任何参数传递给first()
and last()
,当我像这样重新采样时它实际上在做什么?我知道,如果我通过链接重新采样.mean()
,我将使用平均所有月份的平均分数重新采样到几年,但是当我使用时会发生什么last()
?
更重要的是,为什么在这种情况first()
下last()
会给我不同的答案?我看到在数字上它们是不相等的。
IE:post2008.resample().first() != post2008.resample().last()
TLDR:
- 做什么
.first()
和.last()
做什么? - 在这种情况下,当链接到重新采样时会做什么
.first()
和做什么?.last()
- 为什么
.resample().first() != .resample().last()
呢?
这是聚合之前的代码:
# Read 'GDP.csv' into a DataFrame: gdp
gdp = pd.read_csv('GDP.csv', index_col='DATE', parse_dates=True)
# Slice all the gdp data from 2008 onward: post2008
post2008 = gdp.loc['2008-01-01':,:]
# Print the last 8 rows of post2008
print(post2008.tail(8))
这是print(post2008.tail(8))
输出:
VALUE
DATE
2014-07-01 17569.4
2014-10-01 17692.2
2015-01-01 17783.6
2015-04-01 17998.3
2015-07-01 18141.9
2015-10-01 18222.8
2016-01-01 18281.6
2016-04-01 18436.5
这是重新采样和聚合的代码last()
:
# Resample post2008 by year, keeping last(): yearly
yearly = post2008.resample('A').last()
print(yearly)
这就是每年的情况post2008.resample('A').last()
:
VALUE
DATE
2008-12-31 14549.9
2009-12-31 14566.5
2010-12-31 15230.2
2011-12-31 15785.3
2012-12-31 16297.3
2013-12-31 16999.9
2014-12-31 17692.2
2015-12-31 18222.8
2016-12-31 18436.5
这是重新采样和聚合的代码first()
:
# Resample post2008 by year, keeping first(): yearly
yearly = post2008.resample('A').first()
print(yearly)
这就是每年的情况post2008.resample('A').first()
:
VALUE
DATE
2008-12-31 14668.4
2009-12-31 14383.9
2010-12-31 14681.1
2011-12-31 15238.4
2012-12-31 15973.9
2013-12-31 16475.4
2014-12-31 17025.2
2015-12-31 17783.6
2016-12-31 18281.6