Pandas to_datetime

Pandas to_datetime

参考:pandas to_datetime

pandas是Python的一个强大的数据处理库,它提供了大量的数据处理和分析功能。其中,to_datetime函数是pandas中一个非常重要的函数,它可以将字符串、整数、浮点数等格式的日期和时间转换为pandasdatetime格式,方便进行日期和时间的计算和比较。

1. 基本用法

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是要转换的日期和时间,可以是字符串、整数、浮点数等格式。其它参数都是可选的,用于控制日期和时间的转换方式。

下面是一些基本的示例:

import pandas as pd

# 将字符串转换为datetime
dt = pd.to_datetime('2020-01-01')
print(dt)

# 将整数转换为datetime
dt = pd.to_datetime(1577836800, unit='s')
print(dt)

# 專換浮點數轉換為datetime
dt = pd.to_datetime(1577836800.0, unit='s')
print(dt)

Output:

Pandas to_datetime

2. 错误处理

to_datetime函数的errors参数用于控制当转换出错时的行为。它有三个可选的值:’raise’、’coerce’和’ignore’。

  • ‘raise’:默认值,当转换出错时抛出异常。
  • ‘coerce’:当转换出错时返回NaT(Not a Time)。
  • ‘ignore’:当转换出错时返回原始的输入。

下面是一些示例:

import pandas as pd

# 当转换出错时抛出异常
try:
    dt = pd.to_datetime('pandasdataframe.com', errors='raise')
except Exception as e:
    print(e)

# 当转换出错时返回NaT
dt = pd.to_datetime('pandasdataframe.com', errors='coerce')
print(dt)

# 当转换出错时返回原始的输入
dt = pd.to_datetime('pandasdataframe.com', errors='ignore')
print(dt)

3. 日期和时间的格式

to_datetime函数的format参数用于指定日期和时间的格式。它是一个字符串,其中的特殊字符表示日期和时间的各个部分,如年、月、日、时、分、秒等。

下面是一些示例:

import pandas as pd

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

# 指定时间的格式
dt = pd.to_datetime('01:02:03', format='%H:%M:%S')
print(dt)

# 指定日期和时间的格式
dt = pd.to_datetime('01-01-2020 01:02:03', format='%d-%m-%Y %H:%M:%S')
print(dt)

Output:

Pandas to_datetime

4. 日期和时间的单位

to_datetime函数的unit参数用于指定日期和时间的单位。它有多个可选的值,包括’ns’、’us’、’ms’、’s’、’m’、’h’、’D’等。

下面是一些示例:

import pandas as pd

# 指定单位为纳秒
dt = pd.to_datetime(1577836800000000000, unit='ns')
print(dt)

# 指定单位为微秒
dt = pd.to_datetime(1577836800000000, unit='us')
print(dt)

# 指定单位为毫秒
dt = pd.to_datetime(1577836800000, unit='ms')
print(dt)

# 指定单位为秒
dt = pd.to_datetime(1577836800, unit='s')
print(dt)

# 指定单位为分钟
dt = pd.to_datetime(26297280, unit='m')
print(dt)

# 指定单位为小时
dt = pd.to_datetime(438288, unit='h')
print(dt)

# 指定单位为天
dt = pd.to_datetime(18262, unit='D')
print(dt)

Output:

Pandas to_datetime

5. 日期和时间的起源

to_datetime函数的origin参数用于指定日期和时间的起源。它有两个可选的值:’unix’和’julian’。

  • ‘unix’:默认值,表示从1970年1月1日开始计算日期和时间。
  • ‘julian’:表示从公元前4713年11月24日开始计算日期和时间。

下面是一些示例:

import pandas as pd

# 指定起源为unix
dt = pd.to_datetime(1577836800, unit='s', origin='unix')
print(dt)

# 指定起源为julian
dt = pd.to_datetime(2458849, unit='D', origin='julian')
print(dt)

Output:

Pandas to_datetime

6. 日期和时间的缓存

to_datetime函数的cache参数用于控制是否缓存已经转换的日期和时间。它是一个布尔值,如果为True,则缓存已经转换的日期和时间,如果为False,则不缓存。

下面是一些示例:

import pandas as pd

# 开启缓存
dt = pd.to_datetime('2020-01-01', cache=True)
print(dt)

# 关闭缓存
dt = pd.to_datetime('2020-01-01', cache=False)
print(dt)

Output:

Pandas to_datetime

7. 日期和时间的推断

to_datetime函数的infer_datetime_format参数用于控制是否推断日期和时间的格式。它是一个布尔值,如果为True,则推断日期和时间的格式,如果为False,则不推断。

下面是一些示例:

import pandas as pd

# 开启推断
dt = pd.to_datetime('01-01-2020', infer_datetime_format=True)
print(dt)

# 关闭推断
dt = pd.to_datetime('01-01-2020', infer_datetime_format=False)
print(dt)

8. 日期和时间的精确性

to_datetime函数的exact参数用于控制日期和时间的精确性。它是一个布尔值,如果为True,则精确转换日期和时间,如果为False,则不精确。

下面是一些示例:

import pandas as pd

# 开启精确性
dt = pd.to_datetime('2020-01-01 01:02:03.456789', exact=True)
print(dt)

# 关闭精确性
dt = pd.to_datetime('2020-01-01 01:02:03.456789', exact=False)
print(dt)

Output:

Pandas to_datetime

总结起来,pandasto_datetime函数是一个非常强大的工具,它可以处理各种格式的日期和时间,提供了丰富的参数来控制日期和时间的转换方式,是数据处理和分析中不可或缺的工具。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程