Pandas中int64类型年份列转换为datetime64失败问题求助
解决Pandas年份int64转datetime64后类型未变更的问题
问题核心在于你只执行了转换操作,但没有将转换结果赋值回原DataFrame的对应列,因此原列的数据类型并未更新。
直接修改原列的解决方案
执行转换时将结果重新赋值给Year列:
dataset['Year'] = pd.to_datetime(dataset.Year, format='%Y')
完成后再次执行dataset['Year'].dtypes,即可看到类型变为datetime64[ns]。
保留原列的替代方案
如果需要保留原始的int类型年份数据,可以新增一列存储转换后的datetime值:
dataset['Year_datetime'] = pd.to_datetime(dataset.Year, format='%Y')
此时原Year列仍为int64类型,新列Year_datetime为datetime64类型。
注:转换后的datetime值默认会补全为当年1月1日00:00:00(例如2003会转为
2003-01-01 00:00:00),这是datetime类型的特性,需要完整的时间维度信息。
内容的提问来源于stack exchange,提问作者EcoHealthGuy
相关产品推荐
相关产品推荐

