gpt4 book ai didi

python - 将 numpy 字符串数组转换为日期时间

转载 作者:行者123 更新时间:2023-12-01 12:09:56 28 4
gpt4 key购买 nike

例如,我有一个字符串数组

import numpy as np
foo = np.array( [b'2014-04-05', b'2014-04-06', b'2014-04-07'] )

为了检查数组的数据类型,我用
print( foo.dtype )

这导致 |S10 。显然,它由长度为 10 的字符串组成。我想将其转换为 numpydatetime64 类型。

更准确地说,我想更改数组的数据类型,而无需遍历 for 循环并将其逐元素复制到新数组中(实际数组实际上非常大)。像我一样天真,我认为以下可能有效
[ np.datetime64(x) for x in foo ]

剧透:它没有。打印数组的数据类型会产生与之前相同的输出(即 |S10 )。

是否有任何内存有效的方法来转换现有数组的数据类型,而无需将所有内容复制到新数组?

最佳答案

使用 .astypecopy=False 以避免创建副本:

foo = np.array( [b'2014-04-05', b'2014-04-06', b'2014-04-07'] )

foo = foo.astype('datetime64',copy=False)

>>> foo
array(['2014-04-05', '2014-04-06', '2014-04-07'], dtype='datetime64[D]')

关于python - 将 numpy 字符串数组转换为日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52654607/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com