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

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

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

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

涉及方法
  1. np.median(data, axis=0)用于计算数组中元素的中位数(中值)
  2. data[data
  3. numpy.percentile(data, per, axis=0)用于获取数组中百分比位置对应的数,如per=50即中位数
  4. 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)

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5156639.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-18
下一篇 2022-11-18

发表评论

登录后才能评论

评论列表(0条)

保存