我希望将年份转换为4个季度,例如2000q1, 2000q2, 2000q3, 2000q4
。
我正在使用以下代码
mdf = mdf.resample('Q',axis=1).mean().rename(
columns=lambda x: '{:}q{:}'.format(x.year, [1,2,3,4][x.quarter >1]))
但我得到的输出是
2000q1, 2000q2, 2000q2, 2000q2
。
请说明我哪里出错了。
答案 0 :(得分:1)
[1,2,3,4][x.quarter > 1]
大于1,则 [1, 2, 3, 4][True]
会转换为[1, 2, 3, 4][1]
(即x.quarter
},如果[1, 2, 3, 4][False]
,则转换为[1, 2, 3, 4][0]
(即x.quarter
) {1}}为1或更少。因此,对于大于1的季度,将返回2,对于第1季,将返回1.
'{}q{}'.format(x.year, x.quarter)
应该没有任何索引工作正常。请参阅this answer中的重命名部分。