问候,我有一个df,索引从0到00.62799999999999999999。
我使用idxmax()在一列-df [A列]中找到max变量的索引。 可以说索引是0.5579999999999998,我将其分配给变量max 例如:max = df [Column A] .idxmax
但是,当我尝试使用df [Column B] .iloc(max)将元素/变量定位在另一列(B列)的at索引处时
我收到了错误消息: 没有名为对象类型
的轴0.5579999999999998但是当我手动检查时,可以看到索引0.5579999999999998。
是类型错误吗?还是只是我很傻?
在此先感谢您的帮助。
答案 0 :(得分:1)
在处理像这样的微小值时,总是存在浮点错误的危险。 idxmax()返回的内容可能与索引中存在的内容相差20位。
我要提出的第一个建议是缩放索引,四舍五入或者根本不将其作为索引。
现在,要访问该特定行,请使用np.isclose
并使用掩码对DataFrame进行索引:
df[np.isclose(df.index, df['Column A'].idxmax())]