【NumPy】Python将数组中低于一定百分比的值替换

2023-03-08,,

情景举例

现有一个一维数组(或二维进行遍历)存放着很多,找到低于中位数20%的值并将小于该值的数全部替换为该值。

涉及方法

    np.median(data, axis=0)用于计算数组中元素的中位数(中值)
    data[data<x]布尔索引
    numpy.percentile(data, per, axis=0)用于获取数组中百分比位置对应的数,如per=50即中位数
    np.where(data<x, x, 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)

【NumPy】Python将数组中低于一定百分比的值替换的相关教程结束。

《【NumPy】Python将数组中低于一定百分比的值替换.doc》

下载本文的Word格式文档,以方便收藏与打印。