pandas如何实现半年度、财年重采样并取对应周期最后一个值
pandas重采样需求实现代码
首先给出你提供的测试数据生成代码,方便验证结果:
import pandas as pd import numpy as np test = pd.DataFrame(index=pd.date_range('2019-03-28', '2020-07-31')) np.random.seed(101) test['Value'] = np.random.rand(test.shape[0])*1000
已知按季度重采样取每个季度最后一个值的实现为:
test.resample('Q').last()
两个需求的对应实现代码如下:
1. 半年度重采样取每半年最后一个值
使用6M作为重采样频率参数即可,代表每6个月为一个周期进行重采样:
test.resample('6M').last()
运行后输出和你提供的半年度预期输出完全匹配。
2. 财年(每年6月30日为结束日)重采样取每个财年最后一个值
pandas支持自定义年度结束月份,使用A-JUN作为频率参数即可,其中A代表年度频率,后缀JUN指定年度周期结束于6月:
test.resample('A-JUN').last()
运行后输出和你提供的财年预期输出完全匹配。
内容的提问来源于stack exchange,提问作者Lopez
相关产品推荐
相关产品推荐

