试图理解为什么
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
这是因为
pd.Timestamp
中的参数解释方式不同:
-
对于
t1 = pd.Timestamp("23:12:05")
: 你传递了一个字符串,表示时间。 Pandas 将其解释为 当天 的指定时间。由于你没有指定日期,它默认为当前日期。 -
对于
t2 = pd.Timestamp(1)
: 你传递了一个整数。Pandas 将其解释为 自 Unix 纪元(1970 年 1 月 1 日 00:00:00 UTC)以来的纳秒数 。因此,pd.Timestamp(1)
表示纪元后 1 纳秒的时间戳。
总结:
- 传递 字符串 时,Pandas 将其解析为 日期和时间 ,默认为当前日期(如果未指定)。
- 传递 整数 时,Pandas 将其解析为 自纪元以来的纳秒数 。
要创建特定日期的时间戳,请在字符串中包含日期信息,例如:
t3 = pd.Timestamp("2023-04-10 23:12:05")
print("t3:", t3) # 输出:2023-04-10 23:12:05
标签:python,pandas,datetime,time,timestamp
From: 78786069