Python datetime访问器操作的NumPy等价物

Python datetime访问器操作的NumPy等价物,python,pandas,numpy,datetime,Python,Pandas,Numpy,Datetime,使用Pandas,我可以通过mySeries.dt.date将日期时间序列转换为日期序列 对于numpy专栏来说,情况会是怎样的?例如: import pandas as pd df = pd.DataFrame({"a": ["31.12.1999 23:59:12", "31.12.1999 23:59:13", "31.12.1999 23:59:14"], "b": [4, 5, 6]})

使用Pandas,我可以通过
mySeries.dt.date
将日期时间序列转换为日期序列

对于numpy专栏来说,情况会是怎样的?例如:

import pandas as pd
df = pd.DataFrame({"a": ["31.12.1999 23:59:12", "31.12.1999 23:59:13", "31.12.1999 23:59:14"], "b": [4, 5, 6]})
df["datetime"] = pd.to_datetime(df.a)
df["date"]=df.datetime.dt.date
print("df.columns:", df.columns)
df.columns: Index(['a', 'b', 'datetime', 'date'], dtype='object')

回溯(最近一次呼叫最后一次):
文件“/home/user/anaconda3/lib/python3.6/site packages/IPython/core/interactiveshell.py”,第2963行,运行代码
exec(代码对象、self.user\u全局、self.user\n)
文件“”,第1行,在
dfVal[:,2].dt.date
AttributeError:'numpy.ndarray'对象没有属性'dt'

dt.日期

arr.astype('datetime64[D]')
# array(['1999-12-31', '1999-12-31', '1999-12-31'], dtype='datetime64[D]')
arr.astype('datetime64[D]') - arr.astype('datetime64[M]') + 1
# array([31, 31, 31], dtype='timedelta64[D]')

dt.月

arr.astype('datetime64[M]') - arr.astype('datetime64[Y]') + 1
# array([12, 12, 12], dtype='timedelta64[M]')

dt.年

arr.astype('datetime64[Y]')
#  array(['1999', '1999', '1999'], dtype='datetime64[Y]')

dt.日期

arr.astype('datetime64[D]')
# array(['1999-12-31', '1999-12-31', '1999-12-31'], dtype='datetime64[D]')
arr.astype('datetime64[D]') - arr.astype('datetime64[M]') + 1
# array([31, 31, 31], dtype='timedelta64[D]')

相当令人印象深刻!非常好!事实上,我想拿回一个
日期
(那么一个
1999-12-31
值)@user7468395 arr.astype('datetime64[Y]')对你有用吗?@Ben.T是的。谢谢你发现了。不在我的电脑上,所以无法测试它。
arr.astype('datetime64[Y]')
#  array(['1999', '1999', '1999'], dtype='datetime64[Y]')
arr.astype('datetime64[D]') - arr.astype('datetime64[M]') + 1
# array([31, 31, 31], dtype='timedelta64[D]')