python - 将由 int 数据类型表示的年份列表转换为 DatetimeIndex 的更好方法
问题描述
我有以下包含年份的整数列表,我想转换为 DatetimeIndex。
date_1=[2000,2001,2002,2003]
#converting to string
date_1_str=[str(i) for i in date_1]
#converting to Datetime
test=pd.to_datetime(date_1_str,format="%Y")
print(test)
输出:
DatetimeIndex(['2000-01-01', '2001-01-01', '2002-01-01', '2003-01-01'], dtype='datetime64[ns]', freq=None)
为什么我不能做更直接的事情,比如:
pd.to_datetime(date_1, unit="Y")
为什么我必须先转换为字符串数据类型?
有没有更好的选择?
解决方案
我认为原因是工作不同的unit
参数to_datetime
,与unix时代一起工作:
单位,默认'ns'</p>
arg 的单位 (D,s,ms,us,ns) 表示单位,它是整数或浮点数。这将基于原点。例如,使用 unit='ms' 和 origin='unix' (默认值),这将计算到 unix 纪元开始的毫秒数。
但是如果值是整数年,它只是format
日期时间不同,所以对我来说,这里使用的逻辑更多。
推荐阅读
- javascript - 如何动态将从 CMS 收到的脚本添加到
- c# - Win10 上 Visual Studio 2019 中的 Elmish.WPF 配置文件问题
- python - 使用变量作为文件名 Python
- amazon-web-services - AWS 安全组最佳实践
- java - 如何实现部分 SSL 握手来测试任意密码套件?
- parameters - pyodbc - 使用参数时无法访问命名列
- firebase - 购物车总价格未更新
- python - Jax - sigmoid 的 autograd 总是返回 nan
- android - 没有锁的Android服务认为没用?
- smb - 使用脚本或 robocopy 在远程共享上访问 VSS“以前的版本”