Python DeprecationWarning: The truth value of an empty array is ambiguous. Returning False

今天药忘吃喽~ 2022-05-23 01:44 247阅读 0赞

DeprecationWarning: 空数组的真值是不明确的。返回False,但会导致错误。使用`array.size> 0`来检查数组是否为空。

经过在网上查找问题发现:这是一个numpy问题,已经修复,但未在最新版本中发布:https://github.com/scikit-learn/scikit-learn/issues/10449

  1. >>> import numpy as np
  2. >>> bool(np.array([]))
  3. False
  4. >>> import numpy as np
  5. >>> bool(np.array([0]))
  6. False

忽略警告(S)

如果我们想要使用最新版本的库(在这种情况下为numpy),它提供了弃用警告,并且只想静音弃用警告,那么我们可以通过使用python的Warnings模块的filterwarnings方法来实现它

  1. from sklearn import preprocessing
  2. import warnings
  3. if__name__ =='__main__'
  4. warnings.filterwarningsaction ='ignore'category = DeprecationWarning
  5. le = preprocessing.LabelEncoder()
  6. le.fit([1,2,2,6])
  7. le.transform([1126])
  8. le.inverse_transform([0012])

如果有多个模块正在发出警告,并且我们希望选择性地进行无声警告,请那么使用模块属性。例如从scikit学习模块发出静默弃用警告

  1. warnings.filterwarnings(module='sklearn*', action='ignore', category=DeprecationWarning)

发表评论

表情:
评论列表 (有 0 条评论,247人围观)

还没有评论,来说两句吧...

相关阅读