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

调用pd.to_datetime时报TypeError: unhashable type: 'numpy.ndarray'如何解决

报错根因

pd.to_datetime()仅支持一维序列类输入(pandas Series、一维numpy数组、列表等),你执行.values.reshape(-1,1)后得到的是shape为(n,1)的二维numpy数组,不符合入参要求,才触发TypeError: unhashable type: 'numpy.ndarray'报错,和是否为pandas类型无直接关联。

解决方法

根据你后续的使用场景选择对应方案即可:

  • 场景1:不需要保留二维结构,直接转换为datetime类型
    无需将pandas Series转为numpy数组,直接调用pd.to_datetime()即可,注意你的日期格式为日/月/年,需添加dayfirst=True参数保证解析正确:
    x = s.iloc[:, 0]
    # 加dayfirst=True适配21/10/2020格式的日期
    X = pd.to_datetime(x, dayfirst=True)
    
  • 场景2:后续需要使用二维结构的日期数据
    先完成datetime类型转换,再执行reshape操作得到二维数组:
    x = s.iloc[:, 0]
    X = pd.to_datetime(x, dayfirst=True).values.reshape(-1, 1)
    

其他注意事项

你原代码中导入mdates的语句存在语法错误,需修正为:

from matplotlib.dates import mdates

内容的提问来源于stack exchange,提问作者d12

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 13:06:00