python获取当前时间年月日_python-从numpy datetime64中获取年,月或日

这篇博客介绍了如何在numpy 1.6.2版本下,从datetime64类型的数组中高效地获取年、月、日。提供了多种解决方案,包括使用pandas的DatetimeIndex属性、numpy自身的方法以及将datetime64转换为Python datetime对象等。
摘要由CSDN通过智能技术生成

python-从numpy datetime64中获取年,月或日

我有一个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。

9个解决方案

36 votes

由于日期时间在numpy中不稳定,因此我将使用pandas:

In [52]: import pandas as pd

In [53]: dates = pd.DatetimeIndex(['2010-10-17', '2011-05-13', "2012-01-15"])

In [54]: dates.year

Out[54]: array([2010, 2011, 2012], dtype=int32)

熊猫内部使用numpy datetime,但似乎避免了numpy到目前为止的不足。

bmu answered 2020-01-29T09:00:00Z

24 votes

我发现以下技巧使速度提高了2倍至4倍(与上述熊猫方法相比)(即pd.DatetimeIndex(dates).year等)。 我发现[dt.year for dt in dates.astype(object)]的速度类似于pandas方法。 这些技巧也可以直接应用于任何形

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值