pd.Timestamp() 是 Pandas 中用于表示单个日期时间的函数,它可以接受多种类型的参数。以下是 pd.Timestamp() 可以接受的主要参数类型,并举例说明:
1. 日期时间字符串(Date/Time String)
pd.Timestamp()可以接收标准日期时间格式的字符串(如YYYY-MM-DD、YYYY-MM-DD HH:MM:SS)来创建一个时间戳。
示例:
timestamp = pd.Timestamp('2020-11-20')
print(timestamp) # 输出: 2020-11-20 00:00:00
timestamp = pd.Timestamp('2020-11-20 14:30:00')
print(timestamp) # 输出: 2020-11-20 14:30:00
说明:这里,'2020-11-20' 和 '2020-11-20 14:30:00' 是字符串,pd.Timestamp() 会将它们解析为对应的时间戳。
2. Python 的 datetime 对象
pd.Timestamp()可以接受 Python 的datetime.datetime对象作为输入。
示例:
import datetime
dt = datetime.datetime(2020, 11, 20, 14, 30, 0)
timestamp = pd.Timestamp(dt)
print(timestamp) # 输出: 2020-11-20 14:30:00
说明:datetime 对象表示了一个特定的时间点,pd.Timestamp() 会直接将其转换为 Pandas 的时间戳对象。
3. UNIX 时间戳(整数或浮点数)
pd.Timestamp()还可以接受一个 UNIX 时间戳(即自 1970-01-01 起的秒数或毫秒数),并将其转换为Timestamp。
示例:
# UNIX 时间戳,单位是秒
timestamp = pd.Timestamp(1605849600) # 2020-11-20 00:00:00
print(timestamp)
# UNIX 时间戳,单位是毫秒
timestamp = pd.Timestamp(1605849600000, unit='ms')
print(timestamp) # 输出: 2020-11-20 00:00:00
说明:这里,1605849600 是自 1970-01-01 起的秒数,而 1605849600000 是毫秒数。通过设置 unit='ms',可以指定单位是毫秒。
4. 包含年、月、日、时、分、秒的元组
pd.Timestamp()也可以接受一个包含年、月、日、时、分、秒的元组(类似于datetime模块中的方式)。
示例:
timestamp = pd.Timestamp((2020, 11, 20, 14, 30, 0))
print(timestamp) # 输出: 2020-11-20 14:30:00
说明:这里传入的是一个元组 (2020, 11, 20, 14, 30, 0),表示年、月、日、时、分、秒,pd.Timestamp() 会将其转换为对应的时间戳。
5. pandas.Timedelta 对象
pd.Timestamp()可以接受pd.Timedelta对象,将其加到某个特定时间上,创建一个新的时间戳。
示例:
import pandas as pd
timestamp = pd.Timestamp('2020-11-20 00:00:00')
timedelta = pd.Timedelta(days=5)
new_timestamp = timestamp + timedelta
print(new_timestamp) # 输出: 2020-11-25 00:00:00
说明:pd.Timedelta(days=5) 表示一个持续 5 天的时间差,可以与一个 Timestamp 对象进行加法运算,得到新的时间戳。
6. pandas.NaT(缺失值)
pd.Timestamp()还可以接收pandas.NaT,用来表示缺失的时间戳。
示例:
timestamp = pd.Timestamp(pd.NaT)
print(timestamp) # 输出: NaT
说明:pd.NaT 是 Pandas 中表示缺失的时间戳类型,通常用于处理缺失数据。
7. 日期时间格式的其他对象(如 numpy.datetime64)
pd.Timestamp()还可以接受numpy.datetime64类型的对象。
示例:
import numpy as np
dt64 = np.datetime64('2020-11-20')
timestamp = pd.Timestamp(dt64)
print(timestamp) # 输出: 2020-11-20 00:00:00
说明:numpy.datetime64 对象也是一种时间表示方式,pd.Timestamp() 可以将其转换为 Pandas 的 Timestamp 对象。
总结:
pd.Timestamp() 可以接收以下几种类型的参数:
- 日期时间字符串:如
'2020-11-20'或'2020-11-20 14:30:00'。 - Python
datetime对象:如datetime.datetime(2020, 11, 20, 14, 30, 0)。 - UNIX 时间戳:如
1605849600(秒)或1605849600000(毫秒)。 - 包含年、月、日、时、分、秒的元组:如
(2020, 11, 20, 14, 30, 0)。 pandas.Timedelta对象:用来进行时间加减运算。pandas.NaT:表示缺失的时间戳。numpy.datetime64对象:numpy的日期时间对象。
这些不同的参数类型可以根据实际需求灵活使用,pd.Timestamp() 将自动处理它们并返回相应的时间戳。



















