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

pandas datetime列astype(int)转换报错 无法绘制印度新冠数据choropleth图

错误原因

你的报错核心是Pandas的datetime64[ns]类型不支持直接转换为默认的int32类型,同时你原有代码逻辑是生成秒级时间戳,和你需要的毫秒级时间戳需求不匹配。

解决方案

首先先确保你的Date列已经是标准datetime格式:

import pandas as pd
# 非datetime格式先做转换,已是该格式可跳过
df_covid['Date'] = pd.to_datetime(df_covid['Date'])

方案1:用view方法转换(性能最优)

直接读取datetime的底层数值,避免类型转换报错:

# 生成毫秒级整数时间戳
df_covid['timestamp_ms'] = df_covid['Date'].view('int64') // 10**6
# 如需字符串格式,再加.astype(str)即可
# df_covid['timestamp_ms'] = (df_covid['Date'].view('int64') // 10**6).astype(str)

方案2:显式指定int64类型转换

修复你原有代码的类型指定问题:

df_covid['timestamp_ms'] = (df_covid['Date'].astype('int64') // 10**6).astype(str)
后续可视化适配说明

如果你用Plotly等库绘制动态choropleth地图,也可以不转时间戳,直接生成标准日期字符串作为动画帧参数,代码如下:

# 生成YYYY-MM-DD格式的日期字符串
df_covid['date_str'] = df_covid['Date'].dt.strftime('%Y-%m-%d')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 10:54:03