Pandas to_datetime

Pandas to_datetime

参考:pandas to_datetime

pandas库是Python中用于数据处理和分析的强大工具。其中,to_datetime函数是一个非常有用的函数,它可以将字符串、整数或浮点数等不同类型的数据转换为日期时间格式。

1. pandas to_datetime基本用法

to_datetime函数的基本语法如下:

pandas.to_datetime(arg, errors='raise', dayfirst=False, yearfirst=False, utc=None, format=None, exact=True, unit=None, infer_datetime_format=False, origin='unix', cache=True)

其中,arg是要转换的对象,可以是字符串、整数或浮点数等。其他参数主要包括:

  • errors:指定在解析日期时如何处理错误。默认为’raise’,表示如果出现错误就抛出异常。如果设置为’ignore’,则忽略错误;如果设置为’coerce’,则将无法解析的数据转换为NaT(Not a Time)。
  • dayfirst:布尔值,指定输入的日期字符串中是否先出现日。默认为False。
  • yearfirst:布尔值,指定输入的日期字符串中是否先出现年。默认为False。
  • utc:布尔值,指定是否将日期时间转换为UTC格式。默认为None。
  • format:指定日期时间的格式。例如,’%Y-%m-%d’表示年-月-日的格式。
  • exact:布尔值,指定是否精确匹配格式。默认为True。
  • unit:指定时间戳的单位。例如,’D’表示天,’s’表示秒。
  • infer_datetime_format:布尔值,指定是否推断输入的日期时间格式。默认为False。
  • origin:指定时间戳的起始点。默认为’unix’,表示1970年1月1日。
  • cache:布尔值,指定是否缓存唯一的日期字符串。默认为True。

下面是一些基本的示例:

import pandas as pd

# 将字符串转换为日期时间
pd.to_datetime('2020-01-01')
print(pd)

# 将整数转换为日期时间
pd.to_datetime(1577836800000000000, unit='ns')
print(pd)

# 将浮点数转换为日期时间
pd.to_datetime(1577836800.0, unit='s')
print(pd)

# 将日期字符串列表转换为日期时间
pd.to_datetime(['2020-01-01', '2020-02-01', '2020-03-01'])
print(pd)

# 将日期字符串Series转换为日期时间
s = pd.Series(['2020-01-01', '2020-02-01', '2020-03-01'])
pd.to_datetime(s)
print(pd)

# 将DataFrame的某一列转换为日期时间
df = pd.DataFrame({'date': ['2020-01-01', '2020-02-01', '2020-03-01']})
df['date'] = pd.to_datetime(df['date'])
print(df)

Output:

Pandas to_datetime

2. pandas to_datetime处理错误

to_datetime函数的errors参数可以用来处理在解析日期时出现的错误。下面是一些示例:

import pandas as pd

# 如果出现错误,抛出异常
try:
    pd.to_datetime('not a date', errors='raise')
except Exception as e:
    print(e)

# 如果出现错误,忽略错误
pd.to_datetime('not a date', errors='ignore')

# 如果出现错误,将无法解析的数据转换为NaT
pd.to_datetime('not a date', errors='coerce')
print(pd)

3. pandas to_datetime指定日期格式

to_datetime函数的format参数可以用来指定日期的格式。下面是一些示例:

import pandas as pd

# 指定日期的格式为年-月-日
pd.to_datetime('2020-01-01', format='%Y-%m-%d')
print(pd)

# 指定日期的格式为月/日/年
pd.to_datetime('01/01/2020', format='%m/%d/%Y')
print(pd)

# 指定日期的格式为日.月.年
pd.to_datetime('01.01.2020', format='%d.%m.%Y')
print(pd)

Output:

Pandas to_datetime

4. pandas to_datetime处理时间戳

to_datetime函数可以将时间戳转换为日期时间。下面是一些示例:

import pandas as pd

# 将纳秒级的时间戳转换为日期时间
pd.to_datetime(1577836800000000000, unit='ns')
print(pd)

# 将秒级的时间戳转换为日期时间
pd.to_datetime(1577836800, unit='s')
print(pd)

# 将毫秒级的时间戳转换为日期时间
pd.to_datetime(1577836800000, unit='ms')
print(pd)

# 将微秒级的时间戳转换为日期时间
pd.to_datetime(1577836800000000, unit='us')
print(pd)

# 将天级的时间戳转换为日期时间
pd.to_datetime(18262, unit='D')
print(pd)

Output:

Pandas to_datetime

5. pandas to_datetime处理UTC日期时间

to_datetime函数的utc参数可以用来处理UTC日期时间。下面是一些示例:

import pandas as pd

# 将字符串转换为UTC日期时间
pd.to_datetime('2020-01-01T00:00:00Z', utc=True)
print(pd)

# 将整数转换为UTC日期时间
pd.to_datetime(1577836800000000000, unit='ns', utc=True)
print(pd)

# 将浮点数转换为UTC日期时间
pd.to_datetime(1577836800.0, unit='s', utc=True)
print(pd)

Output:

Pandas to_datetime

6. pandas to_datetime推断日期格式

to_datetime函数的infer_datetime_format参数可以用来推断日期的格式。下面是一些示例:

import pandas as pd

# 推断日期的格式
pd.to_datetime('01-01-2020', infer_datetime_format=True)
print(pd)

# 推断日期字符串列表的格式
pd.to_datetime(['01-01-2020', '02-01-2020', '03-01-2020'], infer_datetime_format=True)
print(pd)

# 推断日期字符串Series的格式
s = pd.Series(['01-01-2020', '02-01-2020', '03-01-2020'])
pd.to_datetime(s, infer_datetime_format=True)
print(pd)

7. pandas to_datetime缓存日期字符串

to_datetime函数的cache参数可以用来缓存唯一的日期字符串。下面是一些示例:

import pandas as pd

# 缓存日期字符串
pd.to_datetime(['01-01-2020', '02-01-2020', '03-01-2020'], cache=True)
print(pd)

# 缓存日期字符串Series
s = pd.Series(['01-01-2020', '02-01-2020', '03-01-2020'])
pd.to_datetime(s, cache=True)
print(pd)

Output:

Pandas to_datetime

总结,pandas的to_datetime函数是一个非常强大的工具,可以处理各种类型的数据,并将它们转换为日期时间格式。无论你是在处理字符串、整数、浮点数,还是在处理时间戳,都可以使用to_datetime函数来完成任务。同时,to_datetime函数还提供了许多参数,可以用来处理错误、指定日期格式、处理UTC日期时间、推断日期格式和缓存日期字符串等。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程