替换数组中的值

新手上路,请多包涵

作为数组操作中另一个值的替换值,或者如何在数组中搜索并用另一个值替换一个值

例如:

 array ([[NaN, 1., 1., 1., 1., 1., 1.]
       [1., NaN, 1., 1., 1., 1., 1.]
       [1., 1., NaN, 1., 1., 1., 1.]
       [1., 1., 1., NaN, 1., 1., 1.]
       [1., 1., 1., 1., NaN, 1., 1.]
       [1., 1., 1., 1., 1., NaN, 1.]
       [1., 1., 1., 1., 1., 1., NaN]])

它可以用 0 替换 NaN。感谢您的任何回复

原文由 ricardo 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 445
2 个回答

你可以这样做:

 import numpy as np
x=np.array([[np.NaN, 1., 1., 1., 1., 1., 1.],[1., np.NaN, 1., 1., 1., 1., 1.],[1., 1., np.NaN, 1., 1., 1., 1.], [1., 1., 1., np.NaN, 1., 1., 1.], [1., 1., 1., 1., np.NaN, 1., 1.],[1., 1., 1., 1., 1., np.NaN, 1.], [1., 1., 1., 1., 1., 1., np.NaN]])
x[np.isnan(x)]=0

np.isnan(x) x 一个布尔阵列,它是 True NaN x[ boolean_array ] = 0 使用 花式索引 在布尔数组的任何位置分配值 0 True

有关花式索引的精彩介绍等,另请参阅 numpybook

原文由 unutbu 发布,翻译遵循 CC BY-SA 4.0 许可协议

这些天有一个特殊的功能:

 a = numpy.nan_to_num(a)

原文由 clh 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题