如何在Pandas列中高效将时间字符串减1分钟并保留字符串类型
高效处理DataFrame中时间字符串减1分钟的方法
直接用pandas的矢量化操作就行,完全不用迭代,速度比循环快几个量级,还能自动处理跨小时的边界情况(比如00:00减1分钟会变成23:59)。
具体步骤:
- 把字符串类型的时间转成pandas的时间对象
- 减去1分钟的时间间隔
- 再转回
HH:MM格式的字符串
代码示例:
import pandas as pd # 假设你的DataFrame名为df df['Time'] = pd.to_datetime(df['Time'], format='%H:%M') # 转时间类型 df['Time'] = df['Time'] - pd.Timedelta(minutes=1) # 减1分钟 df['Time'] = df['Time'].dt.strftime('%H:%M') # 转回字符串
如果你的时间列包含日期部分(比如2024-05-20 00:00),也不用修改代码,pd.to_datetime会自动识别,减完后可调整strftime的格式参数(比如%Y-%m-%d %H:%M)来匹配需求。
内容的提问来源于stack exchange,提问作者kartik garg
相关产品推荐
相关产品推荐

