我对 .resample() 方法的使用有点卡住了。我正在使用 DateFrame,其中索引是 YYYY-MM-DD 格式的 TimeDate 对象,并且我有一排与几个城市的属性(property)成本相对应的列,如下所示:
State California Illinois Pennsylvania Arizona
RegionName Los Angeles Chicago Philadelphia Phoenix
1/1/2000 204400 136800 52700 111000
2/1/2000 207000 138300 53100 111700
3/1/2000 209800 140100 53200 112800
4/1/2000 212300 141900 53400 113700
5/1/2000 214500 143700 53700 114300
6/1/2000 216600 145300 53800 115100
7/1/2000 219000 146700 53800 115600
8/1/2000 221100 147900 54100 115900
9/1/2000 222800 149000 54500 116500
当我对其应用 .resample() 方法将显示转换为季度 View 时,我得到的数据排列如下:
hd = hd.resample('Q').mean()
State New York California Illinois Pennsylvania Arizona
RegionName New York Los Angeles Chicago Philadelphia Phoenix
3/31/2000 NaN 207066.6667 138400 53000 111833.3333
6/30/2000 NaN 214466.6667 143633.3333 53633.33333 114366.6667
9/30/2000 NaN 220966.6667 147866.6667 54133.33333 116000
但是,我需要新创建的索引上的标签以类似于“2000q1”样式的格式显示,而不是本季度的最后(或第一天)。
我一直在 Pandas 文档中的 .resample() 方法页面,但在我的生活中,我无法弄清楚如何应用这样的自定义标签。
有人可以帮我吗?
亲切的问候,
格力姆
最佳答案
#hd.index = pd.to_datetime(hd.index)
hd = hd.resample('Q').mean()
hd.index = hd.index.to_period('q').strftime('%Yq%q')
print (hd)
State California Illinois Pennsylvania Arizona
RegionName Los Angeles Chicago Philadelphia Phoenix
2000q1 207066 138400 53000 111833
2000q2 214466 143633 53633 114366
2000q3 220966 147866 54133 116000
关于python - Pandas .resample() 方法 - 自定义标签?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43817627/