Python遍历DataFrame列计算时出现类型错误的原因排查
报错原因解析
核心问题
unsupported operand type(s) for /: 'str' and 'int'这个错误,本质是你用来计算的列中存在字符串类型的数据,无法和整数/数值完成除法运算。
具体可能的两种场景
场景1:计算列的数据类型为字符串
你的DataFrame里,df[i]或df[i+1]对应的列,存储的不是整数/浮点数,而是字符串(比如带单位的数值、格式错误的文本),直接做加法和除法时,字符串与数值类型不兼容,触发报错。场景2:代码的列索引逻辑有误
你用整数i直接索引列(df[i]),但如果你的DataFrame列名不是连续整数(比如是"00:30""01:00"这类时间字符串),此时df[i]要么找不到对应列报错,要么误获取到字符串类型的列,最终导致计算时类型不匹配。
针对你需求的小提示
如果是要生成小时均值,没必要手动循环列索引。可以先把所有需要计算的列转为数值类型,再根据列的时间规律分组计算均值,效率更高也更不易出错。
内容的提问来源于stack exchange,提问作者Panvas
相关产品推荐
相关产品推荐

