pd.Timestamp接收的参数类型
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()
将自动处理它们并返回相应的时间戳。