gpt4 book ai didi

python - 从 numpy datetime64 获取年、月或日

转载 作者:IT老高 更新时间:2023-10-28 20:30:59 26 4
gpt4 key购买 nike

我有一个 datetime64 类型的数组:

dates = np.datetime64(['2010-10-17', '2011-05-13', "2012-01-15"])

有没有比遍历每个元素更好的方法来获取 np.array 的年份:

years = f(dates)
#output:
array([2010, 2011, 2012], dtype=int8) #or dtype = string

我使用的是稳定的 numpy 版本 1.6.2。

最佳答案

我发现与所描述的 pandas 方法相比,以下技巧可以将速度提高 2 倍到 4 倍 in this answer (即 pd.DatetimeIndex(dates).year 等)。我发现 [dt.year for dt in dates.astype(object)] 的速度与 pandas 方法相似。这些技巧也可以直接应用于任何形状(2D、3D 等)的 ndarray。

dates = np.arange(np.datetime64('2000-01-01'), np.datetime64('2010-01-01'))
years = dates.astype('datetime64[Y]').astype(int) + 1970
months = dates.astype('datetime64[M]').astype(int) % 12 + 1
days = dates - dates.astype('datetime64[M]') + 1

关于python - 从 numpy datetime64 获取年、月或日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13648774/

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