现有一个一维数组(或二维进行遍历)存放着很多,找到低于中位数20%的值并将小于该值的数全部替换为该值。
涉及方法- np.median(data, axis=0)用于计算数组中元素的中位数(中值)
- data[data
- numpy.percentile(data, per, axis=0)用于获取数组中百分比位置对应的数,如per=50即中位数
- np.where(data
import numpy as np # 获取中值 mid = np.median(data) # 找到中值的索引 mid_ind = data[data < mid].size # 计算中值位置的百分比 mid_per = mid_ind / data.size * 100 # 找到低于中值20%的百分比,不足20%则为0 per = mid - 20 if mid - 20 > 0 else 0 # 找到低于中值20%的值 val = np.percentile(data, per) # 将小于该值的数替换为该值 data = np.where((data < val), val, data)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)