【NumPy】Python将数组中低于一定百分比的值替换
2024-10-21 10:02:24
情景举例
现有一个一维数组(或二维进行遍历)存放着很多,找到低于中位数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)
最新文章
- Install Atom editor in ubuntu 14.04
- SIGKDD历年Best Papers
- 18 TaskScheduler任务调度器抽象基类——Live555源码阅读(一)任务调度相关类
- 分布式系统开发的一些相关理论基础——CAP、ACID、BASE
- apple-touch-icon,shortcut icon和icon的区别(手机站发送到手机桌面图标自定义)
- Codeforces Round #380 (Div. 2, Rated, Based on Technocup 2017 - Elimination Round 2) D. Sea Battle 模拟
- django apache error.log过大
- 导出用户列表到Excel的几种方法
- CCProgressTimer用法
- RedHat9上安装jdk
- ubuntu新建某个目录的快捷方式到桌面,有三种方法
- java 类访问权限
- 【零基础学习iOS开发】【01-前言】01-开篇
- 1 初级.net web工程师,在工作中都做些什么
- 安卓图表引擎AChartEngine(四) - 源码示例 嵌入Acitivity中的折线图
- Java开源博客My-Blog(SpringBoot+Docker)系列文章
- CSS小技巧使用
- [LeetCode] Student Attendance Record II 学生出勤记录之二
- Solidity的delete操作
- case when then用法