[英]How to replace the outliers with the 95th and 5th percentile in Python?
[英]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.