Python 为什么 pd.to_datetime 返回时间戳格式?

Python Why pd.to_datetime returning timestamp format?

在 Python 中,我正在尝试将数据框中的日期列格式化为浮动对象格式。我最终得到了时间戳格式。

在:

X = []

for row in data:
   date = pd.to_datetime(row[0], format='%Y/%m/%d')
   X.append(date)

print(X)

输出:

[Timestamp('2008-01-02 00:00:00'),
 Timestamp('2009-01-02 00:00:00'),
 Timestamp('2010-01-04 00:00:00'),
 Timestamp('2011-01-03 00:00:00'),
 Timestamp('2012-01-03 00:00:00'),
 Timestamp('2013-12-02 00:00:00'),
 Timestamp('2014-12-01 00:00:00'),
 Timestamp('2015-01-02 00:00:00'),
 Timestamp('2016-01-04 00:00:00'),
 Timestamp('2017-01-03 00:00:00'),
 Timestamp('2018-01-02 00:00:00'),
 Timestamp('2019-01-02 00:00:00'),
 Timestamp('2020-01-02 00:00:00')]

如何将时间戳改为浮动对象?我应该改用 datetime.strptime 吗?

如果您需要数字格式的日期,请使用:

import datetime

dt = datetime.datetime.strptime('2020/03/08', '%Y/%m/%d')
timestamp = dt.replace(tzinfo=datetime.timezone.utc).timestamp()

日期将显示为 UNIX 时间戳(浮点型)

编辑:如果您想使用 pandas,另请参阅

您不必遍历整个数据帧即可将 datetime 转换为 float 有更好的方法可以完成此操作,

试试这个:

df["date"] = pd.to_datetime(df["date"], format="%Y/%m/%d").astype("datetime64").astype(int).astype(float)