gpt4 book ai didi

python - 将数据框列从对象转换为日期而不是日期时间

转载 作者:太空宇宙 更新时间:2023-11-04 11:16:22 25 4
gpt4 key购买 nike

我使用的是 python 3.7 版。

我有一个数据框 df,其中包含一个名为 TDate 的列。

该列如下所示。

 2019-01-01 00:00:00
2019-01-02 00:00:00
2019-01-03 00:00:00
2019-01-04 00:00:00

当我执行 df.dtypes 时,它告诉我该列是对象类型。

然后我有下面这行,

myDates = pd.to_datetime(df['TDate'])

所以 myDates 是一个 pandas 系列。

但是,如果我访问这个 myDates 系列的一个元素并检查类型,它告诉我它是一个 libs.tslib.timestamps.Timestamp

我只想将原始数据框列从对象转换为格式为 yyyy-mm-dd 的日期。这样做的最佳方法是什么?

我查看了将时间戳转换为日期的方法,但没有成功,因为时间戳是字符串文字而不是整数。

最佳答案

使用Series.dt.floor从列中删除时间信息(或更好地将其设置为每个日期时间的默认 00:00:00 值):

myDates = pd.to_datetime(df['TDate']).dt.floor('d')
#for save to same column
#df['TDate'] = pd.to_datetime(df['TDate']).dt.floor('d')

Series.dt.normalize :

myDates = pd.to_datetime(df['TDate']).dt.normalize()
#for save to same column
#df['TDate'] = pd.to_datetime(df['TDate']).dt.normalize()

如果使用:

myDates = pd.to_datetime(df['TDate']).dt.date

然后输出是 python 日期对象,所以大多数 datetimelike 函数都失败了。

关于python - 将数据框列从对象转换为日期而不是日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56923731/

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