Pandas 中的 pd.Timestamp() 行为

问题描述 投票:0回答:1

尝试理解为什么

t1
采用当前日期,而
t2
则采用
Pandas
中的
Python
中的纪元日期。任何想法都会有帮助。

import pandas as pd

t1 = pd.Timestamp("23:12:05")
print("t1:",t1)

t2 = pd.Timestamp(1)
print("t2:"t2)

输出:

t1: 2024-07-23 23:12:05
t2: 1970-01-01 00:00:00.000000001
python pandas datetime time timestamp
1个回答
0
投票

当您使用仅包含时间(“23:12:05”)的字符串创建

pd.Timestamp
时,Pandas 固有地假设您指的是当前日期。这就是为什么
t1
具有今天的日期和指定时间。

t1 = pd.Timestamp("23:12:05")
print("t1:", t1)
# Output: t1: 2024-07-23 23:12:05

将整数传递给

pd.Timestamp
时,它将其视为自 Unix 纪元以来的纳秒数(Unix 纪元是计算中的标准参考点,从“1970-01-01 00:00:00”UTC 开始) 。因此,
pd.Timestamp(1)
为您提供了纪元开始后的一纳秒。

t2 = pd.Timestamp(1)
print("t2:", t2)
# Output: t2: 1970-01-01 00:00:00.000000001

所以基本上总结一下:

  • t1:当您传递仅指定时间的字符串时,Pandas 使用当前日期和指定时间。
  • t2:当您传递整数时,Pandas 使用 Unix 纪元(1970 年初)并添加指定的纳秒数。
© www.soinside.com 2019 - 2024. All rights reserved.