for n in range(155):
#print(df[df['列名']==n])
filtered_df = df[df['列名']==n]
if not filtered_df.empty:
seglents = abs(filtered_df['列名'].iloc[-1] - filtered_df['列名'].iloc[0]).total_seconds()
print(seglents)
sumse=sumse+seglents
else:
# 处理没有符合条件数据的情况,例如打印提示信息或采取其他默认操作
print("没有找到行程号为", n, "的数据")
#出现IndexError: single positional indexer is out-of-bounds
解决办法:
上面的代码是遍历dataframe列名的其中一列,然后给区间分段以后,划分行程,计算行程里面最后一个时间减去第一个时间,得到时间差,得到总和,索引有可能会越界,例如上述列名对应的n值不存在的时候,会报错,解决办法就是检查值是否为空,不为空即可运行。