看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
pandas 在时间数据的处理上有着非常丰富的功能和灵活的处理手段。本例,我们将演示一个关于时间字符串的处理过程,来看看 pandas 对时间数据处理的优势。
我们的数据是一个字符串列表:
time = ['1:5 am', '1:35 am',
'8:1 am', '9:14 am',
'14:23 pm', '20:2 pm']
要将带有上午下午的时间字符串中的时和分均处理为两位数,一位的在前边补 0,结果即:
['01:05 am', '01:35 am',
'08:01 am', '09:14 am',
'14:23 pm', '20:02 pm']
将时间字符串列表构造为一个 Series,然后转换成时间序列,利用时间序列的 dt 访问器,再转成字符串,并将所有字符串转为小写,最后转为一个列表即可。
根据思路代码如下:
import pandas as pd
time = ['1:5 am', '1:35 am',
'8:1 am', '9:14 am',
'14:23 pm', '20:2 pm']
ser = pd.Series(time)
ser
'''
0 1:5 am
1 1:35 am
2 8:1 am
3 9:14 am
4 14:23 pm
5 20:2 pm
dtype: object
'''
(
pd.to_datetime(ser, format='%H:%M %p')
.dt.strftime('%H:%M %p')
.str.lower()
.to_list()
)
'''
['01:05 am', '01:35 am',
'08:01 am', '09:14 am',
'14:23 pm', '20:02 pm']
'''
这样就实现了这个需求。
(完)
更新时间:2024-09-25 18:21:16 标签:pandas python 时间 字符串