数据清理:ValueError:系列的真值是不明确的。使用a.empty,a.bool(),a.item(),a.any()或a.all()

时间:2018-01-16 15:48:19

标签: python data-cleansing

我想通过将不正确的值转换为平均值来清理一些脏数据。我目前有以下代码;

def convert_bad_data(x):
    if x < 16:
        x == np.mean
        return x
    elif x > 80:
        x == np.mean
        return x
    else:
        return x

当我运行时,我收到以下错误

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

问题是我不想使用布尔值,所以我不确定为什么我收到关于真值的错误。

1 个答案:

答案 0 :(得分:0)

您传递的x是一个系列,因此询问x < 16是否含糊不清。相反,如果希望条件触发,则应该使用any(),如果 x的任何元素是&lt; 16,如果你想要所有,则为all()