无法删除 pandas DataFrame 中包含零的行

Unable to drop rows in pandas DataFrame which contain zeros

正在 python 中编辑大型数据框。如果特定列的行值为 0.0,如何将整行放入数据框中?

当我在总体满意度列中删除 0.0s 时,编辑不会显示在我的大型数据框的散点图矩阵中。

我试过:

filtered_df = filtered_df.drop([('overall_satisfaction'==0)], axis=0)

还尝试用空值替换 0.0 并删除空值:

filtered_df = filtered_df.['overall_satisfaction'].replace(0.0, np.nan), axis=0)

filtered_df = filtered_df[filtered_NZ_df['overall_satisfaction'].notnull()]

我缺少什么概念?谢谢 :)

因此您的值似乎小到可以表示为零,但实际上并不是零。这通常发生在计算导致梯度消失(非常小的数字接近零,但不完全为零)时,因此相等比较不会给您想要的结果。

在这种情况下,numpy 有一个名为 isclose 的方便函数,可让您测试一个数字是否在一定公差范围内与另一个数字足够接近。

在你的情况下,

df = df[~np.isclose(df['overall_satisfaction'], 0)]

似乎有效。