使用format函数命名列

时间:2017-06-05 19:29:27

标签: python pandas numpy

下面的代码行使用代表每个月总销售额的列,并按季度平均销售额。

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函数使其正常工作。

1 个答案:

答案 0 :(得分:0)

最简单的方法是在日期时间列表上执行季度功能,如此

mdf = tdf[sel_cols].resample('3M',axis=1).mean().rename(columns=lambda x: '{:}q{:}'.format(x.year,x.quarter))