下面的代码行使用代表每个月总销售额的列,并按季度平均销售额。
mdf = tdf[sel_cols].resample('3M',axis=1).mean()
我需要做的是使用str标题列(不能使用pandas .Period函数)。
我尝试使用以下代码,但我无法让它工作。
mdf = tdf[sel_cols].resample('3M',axis=1).mean().rename(columns=lambda x: '{:}q{:}'.format(x.year, [1, 2, 3, 4][x.quarter==1]))
我希望列读取... 2000q1,2000q2,2000q3,2000q4,2001q1,...等,但不断出现错误,如2000q1,2000q1,2000q1,2000q2,2001q1。
如何使用.format函数使其正常工作。
答案 0 :(得分:0)
最简单的方法是在日期时间列表上执行季度功能,如此
mdf = tdf[sel_cols].resample('3M',axis=1).mean().rename(columns=lambda x: '{:}q{:}'.format(x.year,x.quarter))