运行Pandas代码遇浮点索引弃用警告,求改写规避方案
解决pandas索引浮点类型的FutureWarning警告
这个警告的核心原因是你用了浮点型索引值调用df.loc[],pandas 2.0版本开始会直接抛出IndexError,所以必须手动把索引转为整数类型。
给你两种改写方案:
临时转换单个索引值:直接用
int()把要访问的索引值转成整数,代码改成:if df.loc[int(df.index[i-1]), 'column'] == 1:提前统一转换索引类型:如果你的DataFrame索引本来就应该是整数,直接把整个索引转成int类型,后续代码就不用再单独处理了:
# 先执行一次索引转换 df.index = df.index.astype(int) # 原代码可以正常使用 if df.loc[df.index[i-1], 'column'] == 1:
注意:如果你的索引里存在无法转成整数的浮点值(比如NaN、非整数的小数),转int会报错,这种情况需要先清理或修正索引数据,确保索引值是合法的整数型浮点值(比如1.0、2.0这类)。
内容的提问来源于stack exchange,提问作者batataman
相关产品推荐
相关产品推荐

