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函数对时间序列进行聚合操作,计算每个月的平均值。最后输出结果为每个月的平均值。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python中的Pandas 时间函数 time 、datetime 模块和时间处理基础讲解 - Python技术站