如何用Pandas将HH:MM:SS格式时间转为小时整数并与0比较
处理DataFrame时间列转整数小时并与0比较
假设你的DataFrame名为df,目标时间列名为time_col,以下是两种实用的实现方案:
方法一:字符串直接提取小时
因为时间格式固定为HH:MM:SS,直接截取字符串前两位再转成整数,效率很高:
df['hour'] = df['time_col'].str[:2].astype(int)
方法二:转datetime类型提取小时
如果后续还要进行更多时间相关操作,先将列转为datetime类型更灵活:
import pandas as pd df['hour'] = pd.to_datetime(df['time_col'], format='%H:%M:%S').dt.hour
与0比较
得到整数小时列后,直接做数值比较即可。比如筛选小时大于0的行:
filtered_df = df[df['hour'] > 0]
或者生成布尔值列标记结果:
df['is_hour_gt_0'] = df['hour'] > 0
内容的提问来源于stack exchange,提问作者Myth_Ahir_Manish
相关产品推荐
相关产品推荐

