python numpy array 中删除含0量高于阈值的行--数据清洗

news/2025/4/1 5:15:47/

问题

数据中包含较多0值,类似于包含较大噪声,对结果产生较大影响

目标

对数据进行清洗,在进行其他数据清洗操作的基础上,实现删除数据中包含较多0值的行
可类比推广到删除其他

代码实现

data = data[np.sum(data == 0, axis=1) < data.shape[-1] * 0.6, :]
  1. 首先,使用np.sum(data == 0, axis=1)统计每行数据中含0的数量
  2. 保留含0量少于所有数据60%的行,下面这行代码的输出为bool向量
np.sum(data == 0, axis=1) < data.shape[-1] * 0.6

示例

data=np.array([[0,0,0,0,0,0,0,0,0,0],[1,1,1,1,1,1,1,0,1,1],[2,2,2,0,0,0,0,2,2,2],[3,3,3,3,3,3,3,3,3,3],[4,0,4,0,4,0,4,0,4,0],[5,5,5,0,0,0,0,0,0,0],[6,6,0,0,0,0,0,0,6,6]])
print(data.shape)
print(np.sum(data == 0, axis=1) )
print(np.sum(data == 0, axis=1) < data.shape[-1] * 0.6)
data = data[np.sum(data == 0, axis=1) < data.shape[-1] * 0.6, :]
print(data)
print(data.shape)

输出结果

# 原始数据大小
(7, 10)
# 每行含0的数量
[10  1  4  0  5  7  6]
# 每行含0量是都小于设定值
[False  True  True  True  True False False]
# 清洗完的数据
[[1 1 1 1 1 1 1 0 1 1][2 2 2 0 0 0 0 2 2 2][3 3 3 3 3 3 3 3 3 3][4 0 4 0 4 0 4 0 4 0]]
# 清洗完的数据大小
(4, 10)

http://www.ppmy.cn/news/1077032.html

相关文章

c++ expected

std::expected 和std::optional差不多&#xff0c;但是std::optional只能表示有正常的值或者为std::nullopt&#xff0c;即空值。而std::expected则可以表示一个期望的值和一个错误的值&#xff0c;相当于两个成员的std::variant&#xff0c;但是在接口上更方便使用。可以把它…

ffmpeg把RTSP流分段录制成MP4,如果能把ffmpeg.exe改成ffmpeg.dll用,那音视频开发的难度直接就降一个维度啊

比如&#xff0c;原来我们要用ffmpeg录一段RTSP视频流转成MP4&#xff0c;我们有两种方案&#xff1a; 方案一&#xff1a;可以使用以下命令将rtsp流分段存储为mp4文件 ffmpeg -i rtsp://example.com/stream -vcodec copy -acodec aac -f segment -segment_time 3600 -reset_t…

算法 -汉诺塔,哈夫曼编码

有三个柱子,分别为 from、buffer、to。需要将 from 上的圆盘全部移动到 to 上,并且要保证小圆盘始终在大圆盘上。 这是一个经典的递归问题,分为三步求解: ① 将 n-1 个圆盘从 from -> buffer ② 将 1 个圆盘从 from -> to ③ 将 n-1 个圆盘从 buffer -> to 如果…

docker 容器pip、git安装异常;容器内web对外端口ping不通

1、docker 容器pip、git安装异常 错误信息&#xff1a; git clone https://github.com/vllm-project/vllm.git Cloning into ‘vllm’… fatal: unable to access ‘https://github.com/vllm-project/vllm.git/’: Failed to connect to 127.0.0.1 port 10808: Connection ref…

AI绘画的一些网址收集

1、负面tag词语收集 https://www.bilibili.com/read/cv19834742 https://y3if3fk7ce.feishu.cn/docx/VOZMdoib8oY7xVxVoYbcA8m1nld 2、如何写关键词 https://y3if3fk7ce.feishu.cn/docx/KqEMdhJigoFY8fxc9TPcwMninKf 3、关键词 https://zhuanlan.zhihu.com/p/573340345 模板词…

QT DAY 2

window.cpp #include "window.h" #include<QDebug> #include<QIcon> Window::Window(QWidget *parent) //构造函数的定义: QWidget(parent) //显性调用父类的构造函数 {//this->resize(430,330);this->resize(QSize(800,600));// this…

是否在业务中使用大语言模型?

ChatGPT取得了巨大的成功&#xff0c;在短短一个月内就获得了1亿用户&#xff0c;并激发了企业和专业人士对如何在他们的组织中利用这一工具的兴趣和好奇心。 但LLM究竟是什么&#xff0c;它们如何使你的企业受益?它只是一种炒作&#xff0c;还是会长期存在? 在这篇文章中我…

gitHooks使用教程

1. 安装所需依赖 npm install eslint prettier husky lint-staged --save-dev 2.初始化 husky npx husky-init && npm install 这将创建一个 .husky/ 目录&#xff0c;并且在其中包含一个示例的 pre-commit 文件。 3.设置 pre-commit 钩子 npx husky add .husky/…