Pandas 时间+分钟

Pandas 时间+分钟

Pandas 时间+分钟

介绍

在数据处理的过程中,经常需要对时间进行计算和处理。Pandas 是一个强大的 Python 数据分析库,提供了丰富的时间处理功能,可以方便地对时间进行操作。

本文将详细介绍 Pandas 中对时间和分钟的操作,包括时间的创建、时间的加减运算、时间的格式化输出等。

创建时间

Pandas 提供了多种创建时间的方式。下面以一个示例来展示如何创建时间。

import pandas as pd

# 创建一个时间范围为一天的时间序列,频率为分钟
dates = pd.date_range('2022-01-01', periods=1440, freq='T')
print(dates)

运行上述代码,将输出一个包含一天时间范围的时间序列:

DatetimeIndex(['2022-01-01 00:00:00', '2022-01-01 00:01:00',
               '2022-01-01 00:02:00', '2022-01-01 00:03:00',
               '2022-01-01 00:04:00', '2022-01-01 00:05:00',
               ...
               '2022-01-01 23:54:00', '2022-01-01 23:55:00',
               '2022-01-01 23:56:00', '2022-01-01 23:57:00',
               '2022-01-01 23:58:00', '2022-01-01 23:59:00'],
              dtype='datetime64[ns]', length=1440, freq='T')

上述代码中,使用 pd.date_range 函数创建了从 '2022-01-01' 开始的一天时间范围,periods=1440 表示一共有 1440 个时间点,freq='T' 表示频率为分钟,即时间的间隔为一分钟。创建完成后,得到了一个包含一天时间范围的时间序列。

时间的加减运算

在 Pandas 中,可以很方便地对时间进行加减运算,例如加上一定的分钟数、小时数等。下面通过示例代码来说明如何进行时间的加减运算。

import pandas as pd

# 创建一个时间范围为一天的时间序列,频率为分钟
dates = pd.date_range('2022-01-01', periods=1440, freq='T')

# 时间加上一小时
new_dates = dates + pd.Timedelta(hours=1)
print(new_dates)

# 时间减去30分钟
new_dates = dates - pd.Timedelta(minutes=30)
print(new_dates)

运行上述代码,将输出时间加减后的结果:

DatetimeIndex(['2022-01-01 01:00:00', '2022-01-01 01:01:00',
               '2022-01-01 01:02:00', '2022-01-01 01:03:00',
               '2022-01-01 01:04:00', '2022-01-01 01:05:00',
               ...
               '2022-01-02 00:54:00', '2022-01-02 00:55:00',
               '2022-01-02 00:56:00', '2022-01-02 00:57:00',
               '2022-01-02 00:58:00', '2022-01-02 00:59:00'],
              dtype='datetime64[ns]', length=1440, freq='T')

DatetimeIndex(['2021-12-31 23:30:00', '2021-12-31 23:31:00',
               '2021-12-31 23:32:00', '2021-12-31 23:33:00',
               '2021-12-31 23:34:00', '2021-12-31 23:35:00',
               ...
               '2022-01-01 23:24:00', '2022-01-01 23:25:00',
               '2022-01-01 23:26:00', '2022-01-01 23:27:00',
               '2022-01-01 23:28:00', '2022-01-01 23:29:00'],
              dtype='datetime64[ns]', length=1440, freq='T')

上述代码中,首先使用 pd.date_range 函数创建了一个包含一天时间范围的时间序列。然后,通过 + 运算符加上了一小时,得到了加上一小时的新时间序列;通过 - 运算符减去了 30 分钟,得到了减去 30 分钟的新时间序列。

可以看到,通过时间的加减运算,我们可以很方便地对时间进行位移操作,得到新的时间序列。

格式化输出时间

在实际应用中,经常需要以不同的格式输出时间。Pandas 提供了多种格式化输出时间的方法,方便我们根据需求进行自定义输出。

下面通过示例代码来说明如何格式化输出时间。

import pandas as pd

# 创建一个时间范围为一天的时间序列,频率为分钟
dates = pd.date_range('2022-01-01', periods=1440, freq='T')

# 输出时间的日期部分
print(dates.strftime('%Y-%m-%d'))

# 输出时间的小时部分
print(dates.strftime('%H'))

# 输出时间的分钟部分
print(dates.strftime('%M'))

# 输出时间的秒部分
print(dates.strftime('%S'))

# 输出时间的完整格式
print(dates.strftime('%Y-%m-%d %H:%M:%S'))

运行上述代码,将输出时间的不同部分和完整格式:

['2022-01-01' '2022-01-01' '2022-01-01' ... '2022-01-01' '2022-01-01'
 '2022-01-01']
['00' '00' '00' ... '23' '23' '23']
['00' '01' '02' ... '57' '58' '59']
['00' '01' '02' ... '57' '58' '59']
['2022-01-01 00:00:00' '2022-01-01 00:01:00' '2022-01-01 00:02:00' ...
 '2022-01-01 23:57:00' '2022-01-01 23:58:00' '2022-01-01 23:59:00']

上述代码中,使用 pd.date_range 函数创建了一个包含一天时间范围的时间序列。然后,使用 strftime 方法以不同的格式输出时间的日期部分、小时部分、分钟部分、秒部分以及完整格式。

可以看到,通过格式化输出时间,可以以不同的形式展示时间的不同部分,满足我们的需求。

总结

本文介绍了 Pandas 中对时间和分钟的操作。通过示例代码,我们学习了如何创建时间、进行时间的加减运算以及格式化输出时间

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程