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

我知道我们可以创建一个字符串来np.datetime64格式化,例如:

a = np.datetime64('2020-01-01')

但是,如果我们有一个包含多个日期字符串的列表怎么办?

我们如何应用相同的方法np.datetime64将内部的所有元素转换为日期时间格式?也许除了做一个for循环。


侃侃无极
浏览 173回答 2
2回答

天涯尽头无女友

当您拥有字符串列表时,将其用作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')

红糖糍粑

使用列表理解:strings_list= [...] npdate_list = [np.datetime64(x) for x in strings_list]您是否有特定原因想要避免循环?列表理解没问题?
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python