python数据分析numpy基础之布尔数组方法sum和any和all

news/2024/4/15 5:08:49/文章来源:https://blog.csdn.net/sinat_34735632/article/details/136573121

1 python数据分析numpy基础之布尔数组方法sum和any和all

在前面文章介绍的sum、mean、std等统计方法中,布尔值True被转为1,False被转为0。而any和all,则将非0转为True,0转为False。

1.1 sum()

python的numpy库的sum()函数,用于对数组沿指定轴的元素求和。如果是布尔数组,则True为1,False为0.

用法

numpy.sum(a, axis=None, dtype=None, out=None, keepdims=<no value>, initial=<no value>, where=<no value>)

描述

数组的布尔矢量化计算,可以将满足条件的元素转为True,否则为False,再通过np.sum()获取满足条件的元素的个数。

>>> import numpy as np
>>> ar=np.random.randn(15)
>>> ar
array([ 0.82538597, -0.32234141,  0.06807463, -1.14954642,  1.77798786,-0.0619438 , -0.26619313, -0.1581929 , -0.28545853, -0.08926111,-0.04086482,  1.52881194,  1.17785677, -2.82809615, -0.31513257])
>>> ar>0
array([ True, False,  True, False,  True, False, False, False, False,False, False,  True,  True, False, False])
# np.sum(ar>0)中,True转为1,False转为0,求大于0的元素个数
>>> np.sum(ar>0)
5
>>> ar<0
array([False,  True, False,  True, False,  True,  True,  True,  True,True,  True, False, False,  True,  True])
# np.sum(ar<0)中,True转为1,False转为0,求小于0的元素个数
>>> np.sum(ar<0)
10

1.2 any()

python的numpy库的any()函数,用于测试数组沿指定轴是否存在True,存在则返回True,否则返回False。any()用于非布尔数组时,非0转为True,0转为False。

用法

numpy.any(a, axis=None, out=None, keepdims=<no value>, *, where=<no value>)

描述

a:必选,为数组或者列表或者元组;

axis:可选,用于指定要测试的数组轴,为整数,范围[0, ndim)。默认为None,转为一维数组后进行测试。

若axis=n为整数,则对沿指定轴n的每个元素的测试是否存在True。

若axis=负数,则-1对应最后一个轴,-2倒数第2个轴,依此类推。

>>> import numpy as np
>>> bools=np.array(np.random.randn(24)>0).reshape(2,3,4)
>>> bools
array([[[ True,  True,  True, False],[ True, False,  True, False],[False,  True, False, False]],[[ True, False,  True, False],[False, False,  True, False],[False, False,  True, False]]])
# axis默认None,转为一维数组后存在True则返回True,否则返回False
>>> np.any(bools)
True
# axis=0,沿0轴存在True则返回True,否则返回False
>>> np.any(bools,axis=0)
array([[ True,  True,  True, False],[ True, False,  True, False],[False,  True,  True, False]])
# axis=1,沿0轴存在True则返回True,否则返回False
>>> np.any(bools,axis=1)
array([[ True,  True,  True, False],[ True, False,  True, False]])
# axis=2,沿0轴存在True则返回True,否则返回False
>>> np.any(bools,axis=2)
array([[ True,  True,  True],[ True,  True,  True]])
# 若axis=负数,则-1对应最后一个轴,-2倒数第2个轴,依此类推
>>> np.any(bools,axis=-1)
array([[ True,  True,  True],[ True,  True,  True]])>>> ar2=np.array([[-1,2,0],[0,-5,0]])
>>> ar2
array([[-1,  2,  0],[0, -5,  0]])
# any()用于非布尔数组,非0为True,0为False
>>> np.any(ar2,axis=0)
array([ True,  True, False])

1.3 all()

python的numpy库的all()函数,用于测试数组沿指定轴是否存全部为True,全部为True则返回True,否则返回False。all()用于非布尔数组时,非0转为True,0转为False。

用法

numpy.all(a, axis=None, out=None, keepdims=<no value>, *, where=<no value>)

描述

a:必选,为数组或者列表或者元组;

axis:可选,用于指定要测试的数组轴,为整数,范围[0, ndim)。默认为None,转为一维数组后进行测试。

若axis=n为整数,则对沿指定轴n的每个元素测试,是否全部都为True。

若axis=负数,则-1对应最后一个轴,-2倒数第2个轴,依此类推。

>>> import numpy as np
>>> bools=np.array(np.random.randn(24)>0).reshape(2,3,4)
>>> bools
array([[[ True,  True, False, False],[ True,  True,  True, False],[False, False, False, False]],[[ True,  True, False, False],[False,  True, False, False],[False, False,  True,  True]]])
# axis默认None,转为一维数组后全部为True则返回True,否则返回False
>>> np.all(bools)
False
# axis=0,沿0轴全部为True则返回True,否则返回False
>>> np.all(bools,axis=0)
array([[ True,  True, False, False],[False,  True, False, False],[False, False, False, False]])
# axis=1,沿1轴全部为True则返回True,否则返回False
>>> np.all(bools,axis=1)
array([[False, False, False, False],[False, False, False, False]])
# axis=2,沿2轴全部为True则返回True,否则返回False
>>> np.all(bools,axis=2)
array([[False, False, False],[False, False, False]])
# 若axis=负数,则-1对应最后一个轴,-2倒数第2个轴,依此类推
>>> np.all(bools,axis=-1)
array([[False, False, False],[False, False, False]])
>>> ar2=np.array([[-1,2,0],[-3,-5,1]])
>>> ar2
array([[-1,  2,  0],[-3, -5,  1]])
# all()用于非布尔数组,非0为True,0为False
>>> np.all(ar2,axis=0)
array([ True,  True, False])

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_999015.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

npm 操作报错记录1- uninstall 卸载失效

npm 操作报错记录1- uninstall 卸载失效 1、问题描述 安装了包 vue/cli-plugin-eslint4.5.0 vue/eslint-config-prettier9.0.0 但是没有使用 -d &#xff0c;所以想重新安装&#xff0c;就使用 uninstall 命令卸载&#xff0c;结果卸载了没反应&#xff0c;也没有报错&#xf…

✅ Windows11 系统 I 卡独显 A770 安装 深度学习 Pytorch 环境

&#x1f4cb; 文献参考 这里非常感谢知乎上的 ‘丢丢’ 的[**Windows系统下英特尔独显Pytorch的历程**] 为我提供了一开始的 I 卡安装想法&#xff01;但是文中并未介绍如何进行额外的环境变量操作问题&#xff0c;导致很多软件直接安装至系统盘&#xff0c;占用系统盘空间&am…

备考银行科技岗刷题笔记(持续更新版)

银行考试计算机部分复习 IEEE 802.11的帧格式 1.1 IEEE 802.11是什么&#xff1f; 802.11是国际电工电子工程学会&#xff08;IEEE&#xff09;为无线局域网络制定的标准。目前在802.11的基础上开发出了802.11a、802.11b、802.11g、802.11n、802.11ac。并且为了保证802.11更…

EI级 | Matlab实现GCN基于图卷积神经网络的数据多特征分类预测

EI级 | Matlab实现GCN基于图卷积神经网络的数据多特征分类预测 目录 EI级 | Matlab实现GCN基于图卷积神经网络的数据多特征分类预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.GCN基于图卷积神经网络的数据分类预测 Matlab2023 2.多输入单输出的分类预测&#xf…

<商务世界>《第8课 Leads——MQL——SQL——商机——成交》

1 各种概念 英文缩写概念Traffic流量Leads潜在客户&#xff0c;销售线索&#xff1b;简称潜在线索MQLMarketing-Qualified Leads市场认可线索SQLSales-Qualified Leads销售认可线索OPPOpportunity商机Account成单客户 2 线索到商机 一般企业会把自身线索进行如下的划分&…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:LoadingProgress)

用于显示加载动效的组件。 说明&#xff1a; 该组件从API Version 8开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件 无 接口 LoadingProgress() 创建加载进展组件。 从API version 9开始&#xff0c;该接口支持在ArkTS卡片中使…

运维知识点-Apache HTTP Server

Apache 介绍 介绍 Apache是一个开源的Web服务器软件&#xff0c;全称为Apache HTTP Server&#xff0c;由Apache软件基金会开发和维护。它是目前全球使用最广泛的Web服务器软件之一&#xff0c;占全球所有网络服务器的很大比例。Apache服务器具有跨平台的特性&#xff0c;可以…

Prompt进阶系列1:LangGPT(从编程语言反思LLM的结构化可复用提示设计框架)

Prompt进阶系列1:LangGPT(从编程语言反思LLM的结构化可复用提示设计框架) 大语言模型 (Large Language Models, LLMs) 在不同领域都表现出了优异的性能。然而&#xff0c;对于非AI专家来说&#xff0c;制定高质量的提示来引导 LLMs 是目前AI应用领域的一项重要挑战。现有的提示…

【PyTorch][chapter 22][李宏毅深度学习]【无监督学习][ WGAN]【理论一】

简介&#xff1a; 2014年Ian Goodfellow提出以来&#xff0c;GAN就存在着训练困难、生成器和判别器的loss无法指示训练进程、生成样本缺乏多样性等问题。从那时起&#xff0c;很多论文都在尝试解决&#xff0c;但是效果不尽人意&#xff0c;比如最有名的一个改进DCGAN依靠的是对…

【嵌入式高级C语言】9:万能型链表懒人手册

文章目录 序言单向不循环链表拼图框架搭建 - Necessary功能拼图块1 创建链表头信息结构体 - Necessary2 链表头部插入 - Optional3 链表的遍历 - Optional4 链表的销毁 - Necessary5 链表头信息结构体销毁 - Necessary6 获取链表中节点的个数 - Optional7 链表尾部插入 - Optio…

RFID-科技的“隐秘耳语者”

RFID-科技的“隐秘耳语者” 想象一下&#xff0c;你身处一个光线昏暗的环境中&#xff0c;周围的一切都被厚厚的阴影笼罩。这时&#xff0c;你需要识别并获取一个物体的信息&#xff0c;你会选择怎么做&#xff1f;是点亮灯光&#xff0c;用肉眼仔细观察&#xff0c;还是打开扫…

Haproxy实验搭建

1.yum本地源安装Haproxy [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 [rootlocalhost ~]# yum install haproxy -y2.yum网络源安装Haproxy 关闭防火墙和selinux ###先把安装包拖进来[rootlocalhost ~]# yum install rh-haproxy18-haproxy-1…

Linux操作系统的vim常用命令和vim 键盘图

在vi编辑器的命令模式下&#xff0c;命令的组成格式是&#xff1a;nnc。其中&#xff0c;字符c是命令&#xff0c;nn是整数值&#xff0c;它表示该命令将重复执行nn次&#xff0c;如果不给出重复次数的nn值&#xff0c;则命令将只执行一次。例如&#xff0c;在命令模式下按j键表…

[java基础揉碎]继承

为什么需要继承: > 继承就可以解决代码复用的问题 继承的基本介绍: 继承的使用细节: 1.子类继承了所有的属性和方法&#xff0c;但是私有属性和方法不能在子类直接访问&#xff0c;要通过公共的方法去访问 解决, 提供公共的方法返回: 2.子类必须调用父类的构造器,完成父…

Linux系统——LVS、Nginx、HAproxy区别

目录 一、LVS 1.负载均衡机制 1.1负载均衡——NAT模式 1.2负载均衡——DR模式 1.3负载均衡——隧道模式 1.4负载均衡——总结 2.LVS调度算法 3.LVS优点 4.LVS缺点 二、Nginx 1.传统基于进程或线程的模型 2.Nginx架构设计 3.Nginx负载均衡 4.Nginx调度算法 5.Ngi…

Jmeter 测试使用基本组件结构

JMeter简介 Apache组织开发的开源免费压测工具纯Java程序&#xff0c;跨平台性强源程序可以从网上下载高扩展性可对服务器、网络或对象模拟巨大的负载&#xff0c;进行压力测试可以用于接口测试支持分布式、多节点部署 JMeter安装 下载位置 官网https://jmeter.apache.org/ …

Java中SpringBoot四大核心组件是什么

一、Spring Boot Starter 1.1 Starter的应用示例 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency><groupId>org.mybatis.sprin…

深度学习与人类的智能交互:迈向自然与高效的人机新纪元

引言 随着科技的飞速发展&#xff0c;深度学习作为人工智能领域的一颗璀璨明珠&#xff0c;正日益展现出其在模拟人类认知和感知过程中的强大能力。本文旨在探讨深度学习如何日益逼近人类智能的边界&#xff0c;并通过模拟人类的感知系统&#xff0c;使机器能更深入地理解和解…

高级语言讲义2016计专(仅高级语言部分)

1.斐波那契序列的第n项可以表示成以下形式&#xff0c;编写一个非递归函数&#xff0c;返回该数列的第n项的数值 #include <stdio.h>int func(int n) {if(n1||n2)return 1;int p1,q1,num;for(int i3; i<n; i) {numpq;qp;pnum;}return num; } 2.在MXN的二维数组A中&am…

瑞_23种设计模式_模板方法模式

文章目录 1 模板方法模式&#xff08;Template Pattern&#xff09; ★ 钩子函数1.1 介绍1.2 概述1.3 模板方法模式的结构1.4 模板方法模式的优缺点1.5 模板方法模式的使用场景 2 案例一2.1 需求2.2 代码实现 3 案例二3.1 需求3.2 代码实现 4 JDK源码解析&#xff08;InputStre…