关键词

Python中的Pandas 时间函数 time 、datetime 模块和时间处理基础讲解

Python中的Pandas时间函数time、datetime模块和时间处理基础讲解

时间函数time

在Python中,time是一个可以进行时间计算,处理和表示的模块。这个模块内包含了许多处理时间的函数,例如获取当前时间,计算时间差,格式化时间字符串等等。下面我们将对一些基础的时间函数进行介绍:

获取当前时间

获取当前时间可以使用time模块中的time()函数。该函数返回自1970年1月1日零时起的秒数。

import time
print(time.time())

输出结果为浮点数,例如:

1602479042.4242702

将时间戳转化为指定格式的时间字符串

使用ctime()函数可以将时间戳转换为指定格式的时间字符串。例如:

import time
timestamp = 1602479042.4242702
print(time.ctime(timestamp))

输出结果为一个人类可读的时间字符串,例如:

Wed Oct 12 10:08:58 2022

格式化时间字符串

使用strftime()函数可以将时间格式化为指定格式的字符串。例如:

import datetime
now = datetime.datetime.now()
print(now.strftime("%Y-%m-%d %H:%M:%S"))

输出结果为指定格式的字符串,例如:

2024-10-26 11:28:14

datetime模块

datetime模块也是一个Python中用来处理时间的模块。它有着更加强大的功能,对于时间的计算,处理和表示都有更加详细和灵活的方法。

获取当前时间

获取当前时间可以使用datetime模块中的now()函数。

import datetime
now = datetime.datetime.now()
print(now)

输出结果为当前时间,例如:

2022-10-27 17:42:19.557163

时间对象的加减运算

datetime模块还支持对日期进行加减运算。例如:

import datetime
now = datetime.datetime.now()
delta = datetime.timedelta(days=1)
tomorrow = now + delta
print(tomorrow)

上述代码中,我们将delta赋值为1天,然后将now加上去,得到的就是明天的日期。输出结果为明天的日期,例如:

2022-10-28 17:42:19.557163

此外,datetime还支持跨时间区的改变,更加方便对不同时区的处理。

Pandas中的时间函数

Pandas是一个高性能,易于使用的数据分析工具包。Pandas中的时间函数和datetime模块有许多相似的地方,但是使用起来更加方便。

将时间字符串转化为时间对象

Pandas中提供了to_datetime()函数,可以将时间字符串转化为时间对象。例如:

import pandas as pd
time_str = '2022-10-27 17:42:19'
time_obj = pd.to_datetime(time_str)
print(time_obj)

输出结果为时间对象,例如:

2022-10-27 17:42:19

时间索引

Pandas中的时间对象可以作为数据框的索引。例如:

import pandas as pd
data = {'values': [1, 2, 3, 4, 5]}
index = ['2022-01-01', '2022-01-02', '2022-01-03', '2022-01-04', '2022-01-05']
df = pd.DataFrame(data, index=pd.to_datetime(index))
print(df)

输出结果为一个以时间对象为索引的数据框,例如:

            values
2022-01-01       1
2022-01-02       2
2022-01-03       3
2022-01-04       4
2022-01-05       5

以上就是Python中的Pandas时间函数,datetime模块和时间处理基础讲解。掌握了这些基本的用法,我们就可以在进行时间相关的计算,处理和分析的时候更加方便快捷。

示例说明

示例1:计算两个时间点之间的时间差

import datetime
start = datetime.datetime(2022, 1, 1, 0, 0, 0)
end = datetime.datetime(2022, 12, 31, 23, 59, 59)
delta = end - start
print(delta.days)  # 打印两个日期相差的天数

上述代码中,我们使用datetime模块的datetime函数表示起始时间和结束时间。通过对两个时间点进行减法运算,得到一个时间差的对象。最后可以使用days属性打印出天数。

示例2:对时间序列进行统计

import pandas as pd
date_range = pd.date_range('2022-01-01', '2022-12-31', freq='D')
data = {'values': [1, 2, 3, 4, 5]}
df = pd.DataFrame(data, index=date_range)
monthly_mean = df.resample('M')['values'].mean()  # 计算每个月的平均值
print(monthly_mean)

上述代码中,我们使用Pandas中的date_range函数生成时间序列。然后构造一个数据框,使用resample函数对时间序列进行聚合操作,计算每个月的平均值。最后输出结果为每个月的平均值。

本文链接:http://task.lmcjl.com/news/17167.html

展开阅读全文