在一个pandas数据框中,假设名为
我尝试使用
相反,我尝试使用
但是,如果我执行
是否有人能够解释为什么pandas
另外,请问pandas是否支持
mydf
的数据框(其值最初是从Yahoo下载的股票价格创建的),我拥有以下dtypes
:Close float64
DateTime datetime64[ns]
High float64
Low float64
Open float64
Volume float64
DateTime
列包含日期和时间组成部分,即2015-03-20 00:00:28
,但是我只想保留日期部分,即2015-03-20
。我尝试使用
mydf['DateTime'].astype('<M8[D]')
将datetime64[ns]
转换为datetime64[D]
,但是出现错误TypeError: cannot astype a datetimelike from [datetime64[ns]] to [datetime64[D]]
。相反,我尝试使用
mydf['DateTime'].values.astype('<M8[D]')
,它可以运行而无错误。当我显示print(mydf)
时,时间组件不再打印。但是,如果我执行
mydf.dtypes
,则mydf['DateTime']
的dtype
仍然相同,并且如果我尝试mydf['DateTime'][0]
的类型,它实际上显示为pandas.tslib.Timestamp
。是否有人能够解释为什么pandas
datetime64[ns]
列的各个元素都是pandas.tslib.Timestamp
类型,以及如何正确将pandas datetime64[ns]
列转换为datetime64[D]
列?另外,请问pandas是否支持
datetime64[D]
?
p.s. 这是对我的上一个问题进行修改,以满足J.F.Sebastian的要求,每个帖子只能有1个问题。