You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

pandas重命名日期列出现TypeError: 'list' object is not callable怎么办?

报错原因及修复方案

核心原因

pandas的DataFrame.rename()方法的columns参数不支持直接传入列表,仅支持两类合法输入:

  • 键为原列名、值为对应新列名的字典
  • 可调用对象(如函数、lambda表达式,用于批量转换所有列名)

你向columns参数直接传入了列表['0', 'Fecha'],pandas会尝试将该列表作为函数调用,因此触发TypeError: 'list' object is not callable错误。
另外注意:你通过一维列表生成的DataFrame默认列名为整数类型的0,而非字符串'0',如果字典键写错类型也无法完成重命名。

修复方法

方法1:使用rename传入字典(推荐,仅修改指定列,不影响其他列)

将重命名代码修改为:

df1 = df.rename(columns={0: 'Fecha'})

方法2:直接重写columns属性(适合全列批量重命名,当前场景只有1列更简洁)

代码如下:

df.columns = ['Fecha']

完整可运行代码

import pandas as pd
from datetime import datetime, timedelta

inicio = datetime(2017,10,1)
fin    = datetime(2017,10,5)


lista_fechas = [(inicio + timedelta(days=d)).strftime("%Y-%m-%d")
                    for d in range((fin - inicio).days + 1)] 
print(lista_fechas)

df = pd.DataFrame(data=lista_fechas)
# 修正后的重命名操作
df1 = df.rename(columns={0: 'Fecha'})
print(df1)

内容的提问来源于stack exchange,提问作者Jorge Hernández

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 04:42:02