为了账号安全,请及时绑定邮箱和手机立即绑定

如何将列表转换为 numpy.datetime64 格式

如何将列表转换为 numpy.datetime64 格式

侃侃无极 2023-06-20 17:12:36
我知道我们可以创建一个字符串来np.datetime64格式化,例如:a = np.datetime64('2020-01-01')但是,如果我们有一个包含多个日期字符串的列表怎么办?我们如何应用相同的方法np.datetime64将内部的所有元素转换为日期时间格式?也许除了做一个for循环。
查看完整描述

2 回答

?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

当您拥有字符串列表时,将其用作Numpy数组的源,将datetime64作为dtype传递。例如:


lst = ['2020-01-01', '2020-02-05', '2020-03-07' ]

a = np.array(lst, dtype='datetime64')

当你执行a(实际上是在笔记本上打印这个数组)时,你会得到:


array(['2020-01-01', '2020-02-05', '2020-03-07'], dtype='datetime64[D]')

如您所见,在这种情况下,默认精度为Day。但是您可以明确地传递精度,例如b = np.array(lst, dtype='datetime64[s]')。


不要被上面打印输出中每个元素周围的撇号所误导,它们不是字符串。要检查它,执行a[0]你会得到:


numpy.datetime64('2020-01-01')


查看完整回答
反对 回复 2023-06-20
?
红糖糍粑

TA贡献1815条经验 获得超6个赞

使用列表理解:

strings_list= [...]
npdate_list = [np.datetime64(x) for x in strings_list]

您是否有特定原因想要避免循环?

列表理解没问题?


查看完整回答
反对 回复 2023-06-20
  • 2 回答
  • 0 关注
  • 172 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号