2017-01-22 65 views
0

我想將年份轉換爲4個季度,例如-2000q1, 2000q2, 2000q3, 2000q4使用resample重命名列

我使用下面的代碼

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

請建議我去哪裏錯了。

回答

1

[1,2,3,4][x.quarter > 1]轉化爲[1, 2, 3, 4][True]如果(即[1, 2, 3, 4][1]x.quarter大於1,或[1, 2, 3, 4][False](即[1, 2, 3, 4][0])如果x.quarter爲1或更小。因此,這將返回2季度大於1,而1季度1.

'{}q{}'.format(x.year, x.quarter) 

應該沒有任何索引的正常工作。請參閱this answer中的重命名部分。

+0

其工作。謝謝 – Dumb