📜  熊猫转换日期格式? - Python (1)

📅  最后修改于: 2023-12-03 15:11:10.350000             🧑  作者: Mango

熊猫转换日期格式 - Python

当我们需要处理日期数据时,往往会遇到需要把日期格式转换成另一种格式的情况。这时候,我们就可以使用 Python 中的 pandas 库中的 to_datetime() 方法来完成转换。

pandas 的 to_datetime() 方法

to_datetime() 方法可以将日期格式的字符串转换成 pandas 中的 Datetime 格式。这样,我们就可以方便地对日期格式进行操作,如计算日期差值、排序、分组等。

语法
pandas.to_datetime(arg, format=None, errors='raise', dayfirst=False, yearfirst=False, utc=None, box=True, format=None, exact=True, unit=None, infer_datetime_format=False, origin='unix', cache=True)
参数
  • arg:日期字符串/数组/列表/Series/DataFrame,必选参数。
  • format:日期格式字符串,可选参数。默认情况下,pandas 会自动推导日期格式,但有时候会出现数据格式不规范的情况,需要手动指定日期格式。
  • errors:错误处理方式,可选参数。默认为 'raise',即在遇到错误时会抛出异常;如果指定为 'coerce',则在遇到错误时会返回 NaT(即 pandas 中的缺失值)。
  • dayfirst:是否将日期中的日期放在月份之前,可选参数。
  • yearfirst:是否将日期中的年份放在月份之前,可选参数。
  • utc:是否将日期转换成 UTC格式,可选参数。
  • box:是否将转换后的日期包装成 pandas 中的 Timestamp 对象,可选参数。默认为 True。
  • exact:是否对日期格式进行严格匹配,可选参数。默认为 True,表示如果格式不匹配,则抛出异常。如果为 False,则会尝试使用更宽泛的日期格式进行转换。
  • unit:时间单位,可选参数。表示需要转换的时间单位,如 's' 表示秒,'ms' 表示毫秒等。
  • infer_datetime_format:是否自动推导日期格式,可选参数。默认为 False。
  • origin:时间基准,可选参数。默认为 'unix',表示日期的起始时间为 1970 年 1 月 1 日。也可以设为其他日期,如 'julian' 表示起始时间为儒略日。
  • cache:是否缓存日期格式字符串,可选参数。默认为 True。
示例
import pandas as pd

# 将日期字符串转换为 pandas 中的 Datetime 格式
date_str = '2022-07-01 12:34:56'
date = pd.to_datetime(date_str)
print(date)
# 输出:2022-07-01 12:34:56

# 指定日期格式
date_str = '22/7/1 12:34:56'
date = pd.to_datetime(date_str, format='%y/%m/%d %H:%M:%S')
print(date)
# 输出:2022-07-01 12:34:56

# 转换数组
date_arr = ['2022-07-01', '2022-07-02', '2022-07-03']
dates = pd.to_datetime(date_arr)
print(dates)
# 输出:DatetimeIndex(['2022-07-01', '2022-07-02', '2022-07-03'], dtype='datetime64[ns]', freq=None)
总结

pandas 中的 to_datetime() 方法可以方便地将日期字符串转换成 pandas 中的 Datetime 格式,并对日期进行各种操作。在实际开发中,我们也应该学会使用 to_datetime() 方法,以便更加高效地处理日期数据。