情景举例

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

涉及方法

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

最新文章

  1. Install Atom editor in ubuntu 14.04
  2. SIGKDD历年Best Papers
  3. 18 TaskScheduler任务调度器抽象基类——Live555源码阅读(一)任务调度相关类
  4. 分布式系统开发的一些相关理论基础——CAP、ACID、BASE
  5. apple-touch-icon,shortcut icon和icon的区别(手机站发送到手机桌面图标自定义)
  6. Codeforces Round #380 (Div. 2, Rated, Based on Technocup 2017 - Elimination Round 2) D. Sea Battle 模拟
  7. django apache error.log过大
  8. 导出用户列表到Excel的几种方法
  9. CCProgressTimer用法
  10. RedHat9上安装jdk
  11. ubuntu新建某个目录的快捷方式到桌面,有三种方法
  12. java 类访问权限
  13. 【零基础学习iOS开发】【01-前言】01-开篇
  14. 1 初级.net web工程师,在工作中都做些什么
  15. 安卓图表引擎AChartEngine(四) - 源码示例 嵌入Acitivity中的折线图
  16. Java开源博客My-Blog(SpringBoot+Docker)系列文章
  17. CSS小技巧使用
  18. [LeetCode] Student Attendance Record II 学生出勤记录之二
  19. Solidity的delete操作
  20. case when then用法

热门文章

  1. vue 添加代理
  2. excel数字转日期
  3. EBS 常用sql
  4. Linux FTP服务器配置文件vsftpd.conf 配置
  5. 斐波那契数python实现迭代循环两种方法
  6. CDO学习2 CDO 入门教程Tutorial
  7. Java设计模式之策略模式(13)
  8. 工程师突击:SAP ABAP实用程序开发攻略.pdf
  9. vvvvvv异步组件儿
  10. HTML+CSS+JS制作一个灰白色简约时钟