pd.to_datetime()
一、pd.to_datetime基本使用
pd.to_datetime是Pandas库中的函数,可以将字符串转换为Timestamp格式,并且可以转换多种格式的时间字符串。
pd.to_datetime(arg, format=None, errors='raise', dayfirst=False, yearfirst=False, utc=None, box=True, exact=True, unit=None, infer_datetime_format=False, origin='unix')
- arg表示待转换的字符串;
- format表示待转换的字符串的格式描述;
在format的格式字符串中,各种时间元素都有特定的字符表示,例如:
%Y表示四位数的年份,
%m表示两位数的月份,
%d表示两位数的日期,
%H表示小时数(24小时格式),
%M表示分钟数,
%S表示秒数。 - errors表示如果出现无法解析的字符串时会发生什么,raise表示引发异常,coerce表示转换为NaT(Not-a-Time)对象,ignore表示返回原始值。
- unit 参数用于指定输入数据的时间单位。它允许将输入的数据解释为不同时间精度的时间戳。下面是一些常用的 unit 参数选项及其含义:
‘ns’:纳秒(默认值)
‘us’:微秒
‘ms’:毫秒
‘s’:秒
‘m’:分钟
‘h’:小时
‘D’:天
‘M’:月
‘Y’:年
使用 unit 参数,可以确保将输入数据正确地解释为相应的时间单位。例如,如果输入数据是以秒为单位的时间戳,可以通过将 unit=‘s’ 传递给 pd.to_datetime() 来指定单位为秒。
# unit作用
import pandas as pd
timestamp = 1626345600 # 时间戳表示2021-07-15 00:00:00(秒为单位)
date = pd.to_datetime(timestamp, unit='s')
print(date)
输出结果:
2021-07-15 00:00:00
# to_datetime用法
dates = pd.to_datetime(['2021/12/01', '2021/12/02', '2021/12/03'])
print(dates)
输出结果:DatetimeIndex(['2021-12-01', '2021-12-02', '2021-12-03'], dtype='datetime64[ns]', freq=None)
二、获取当前日期时间戳
from datetime import datetime
import pandas as pd
now = pd.Timestamp(datetime.now())
print(now)
输出结果:
2023-07-15 21:12:52.952046
三、时间差计算
import pandas as pd
date1 = pd.Timestamp('2022-12-01 12:30:00')
date2 = pd.Timestamp('2023-5-03 07:08:14')
print(date2 - date1)
输出结果:
152 days 18:38:14