繁体   English   中英

Python:替换numpy数组的每个第5个值

[英]Python: Replace every 5th value of numpy array

我有一个装满浮子的numpy阵列。 如何用np.inf*0替换每个第5个值,以便在每个第5个索引获得NaN值?

my_array = np.array([5.0, 8.1, 3.2, 2.7, 8.4, 4.9 ...])

my_array = np.array([5.0, 8.1, 3.2, 2.7, NaN, 4.9 ...])

等等。

如何使用切片和跨步? L[::5]从列表L取出每第5个元素:

>>> my_array = np.arange(20.)
>>> my_array[4::5] = np.nan
>>> my_array
array([  0.,   1.,   2.,   3.,  nan,   5.,   6.,   7.,   8.,  nan,  10.,
        11.,  12.,  13.,  nan,  15.,  16.,  17.,  18.,  nan])

比@ alko更简单,比@mdml 更正确

import numpy

my_array = numpy.linspace(0, 1, 20)
my_array
#>>> array([ 0.        ,  0.05263158,  0.10526316,  0.15789474,  0.21052632,
#>>>         0.26315789,  0.31578947,  0.36842105,  0.42105263,  0.47368421,
#>>>         0.52631579,  0.57894737,  0.63157895,  0.68421053,  0.73684211,
#>>>         0.78947368,  0.84210526,  0.89473684,  0.94736842,  1.        ])

my_array[4::5] = numpy.nan
my_array
#>>> array([ 0.        ,  0.05263158,  0.10526316,  0.15789474,         nan,
#>>>         0.26315789,  0.31578947,  0.36842105,  0.42105263,         nan,
#>>>         0.52631579,  0.57894737,  0.63157895,  0.68421053,         nan,
#>>>         0.78947368,  0.84210526,  0.89473684,  0.94736842,         nan])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM