我正在做:
df.apply(lambda x: x.rename(x.name + "_something"))
我认为这应该返回带有 _something 附加到所有列的列,但它只返回相同的 df。
我究竟做错了什么?
编辑:我需要逐列处理系列,而不是数据框对象,因为我将x在 lambda 中应用其他转换,此处未显示。
编辑 2 完整上下文:
我有一个时间序列数据框,我正在尝试从数据中生成特征。
我写了一堆原始函数,例如:
def sumn(n, s):
return s.rolling(n).sum().rename(s.name + "_sum_" + str(n))
当我将它们应用于 时Series,它会很好地重命名它们。
当我将它们应用于 a 中DataFrame的列时,数值转换会通过,但rename不起作用。
(我想这意味着 aDataFrame不仅仅是 的集合Series,这很可能意味着我现在必须明确地重命名 df 上的东西)