当前位置: 首页 > news >正文

python_numpy库_ndarray的聚合操作、矩阵操作等

一、ndarray的聚合操作

1、求和np.sum()
import numpy as np
​
n = np.arange(10)
print(n)
​
s = np.sum(n)
print(s)
​
n = np.random.randint(0,10,size=(3,5))
print(n)
s1 = np.sum(n)
print(s1)   #全部数加起来
s2 = np.sum(n,axis=0)
print(s2)   #表示每一列的多行求和
s3 = np.sum(n,axis=1)
print(s3)   #表示每一行的多列求和
2、最小值np.min
3、最大值np.max
4、平均值np.mean
5、平均值np.average
6、中位数np.median
7、百分位数np.percentile
8、最小值对应的下标np.argmin
9、最大值对应的下标np.argmax
10、标准差np.std
11、方差np.var
12、次方,求幂np.power
13、按条件查找np.argwhere
14、np.nansum
  • *nan:数值类型,not a number:不是一个正常的数值,表示空

  • *np.nan:float类型

#对于含有空的数组,要用np.nansum进行求和
n = np.array([1,2,3,np.nan])
print(n)
#实质是去掉空值后的数组进行求和
s4 = np.nansum(n)
print(s4)

二、矩阵操作

1、基本的矩阵操作

算术运算符:加减乘除

矩阵和矩阵之间运算

数与矩阵运算

2、矩阵乘积

np.dot(第一个矩阵的列数等于第二个矩阵的行数)

import numpy as np
​
n1 = np.random.randint(0,10,size=(4,4))
n2 = np.random.randint(0,10,size=(4,5))
print(n1,n2)
print()
n3 = np.dot(n1,n2)
print(n3)
3、矩阵的逆
n4 = np.linalg.inv(n2)
print(n4)
4、行列式的计算
n5 = np.round(np.linalg.det(n1))
print(n5)
5、矩阵的秩
n6 = np.linalg.matrix_rank(n1)
print(n6)

三、ndarray的广播机制

(1)、为缺失的维度补维度

(2)、缺失元素用已有的数组填充

import numpy as np
​
x = np.full(shape=(3,3),fill_value=2)
print(x)
y = np.arange(3)
print(y)
z = x+y
print(z)
#注:第二个数组会自动补上两行[0 1 2],然后在进行相加

四、数学操作

import numpy as np
​
n = np.array([1,2,3,5,5,44,55,66])
​
#绝对值
print(np.abs(n))
#平方根
print(np.sqrt(n))
#平方
print(np.square(n))
#指数
print(np.exp(n))
#自然对数
print(np.log(n))
#以2为底的对数
print(np.log2(n))
#以10为底的对数
print(np.log10(n))
#正弦函数
print(np.sin(n))
#余弦函数
print(np.cos(n))
#正切函数
print(np.tan(n))
#向上取整
print(np.ceil(n))
#四舍五入
print(np.round(n,2))
#向下取整
print(np.floor(n))
#累加
print(np.cumsum(n))

五、ndarray的排序

1、np.sort()

不改变输入

import numpy as np
​
n = np.array([55,44,8,2,9,7,3,6])
print(np.sort(n))
print()
2、ndarray.sort()

本地处理,不占用空间,但不改变输入

import numpy as np
​
n1 = np.random.randint(0,10,size=8)
print(n1)
n1.sort()
print(n1)

六、文件操作

1、保存数组到npy或npz文件

save:保存ndarray到一个npy文件。

savez:将多个array保存到一个npz文件中。

import numpy as np
​
x = np.arange(5)
y = np.arange(10,20)
​
np.save('x',x)
np.savez('arr.npz',xarr = x,yarr = y)
a = np.load('x.npy')
b = np.load('arr.npz')['yarr']
​
print(a)
print(b)
2、保存数组到csv或txt文件
n = np.random.randint(0,10,size=(3,4))
#存储到csv或txt
#delimiter = ',':分隔符
np.savetxt('arr.csv',n,delimiter=',')
#读取csv或txt
#注:最新版numpy不能用dtype要用astype
c = np.loadtxt('arr.csv',delimiter=',').astype(np.int8)
print(c)

相关文章:

python_numpy库_ndarray的聚合操作、矩阵操作等

一、ndarray的聚合操作 1、求和np.sum() import numpy as np ​ n np.arange(10) print(n) ​ s np.sum(n) print(s) ​ n np.random.randint(0,10,size(3,5)) print(n) s1 np.sum(n) print(s1) #全部数加起来 s2 np.sum(n,axis0) print(s2) #表示每一列的多行求和 …...

python-自动化篇-终极工具-用GUI自动控制键盘和鼠标-pyautogui

文章目录 用GUI自动控制键盘和鼠标pyautogui 模块鼠标屏幕位置——移动地图——pyautogui.size鼠标位置——自身定位——pyautogui.position()移动鼠标——pyautogui.moveTo拖动鼠标滚动鼠标 键盘按下键盘释放键盘 开始与结束通过注销关闭所有程序 用GUI自动控制键盘和鼠标 在…...

面试:大数据和深度学习之间的关系是什么?

大数据与深度学习之间存在着紧密的相互关系,它们在当今技术发展中相辅相成。 大数据的定义与特点:大数据指的是规模(数据量)、多样性(数据类型)和速度(数据生成及处理速度)都超出了传统数据处理软件和硬件能力范围的数据集。它具有四个主要特点,通常被称…...

航芯ACM32G103开发板评测 08 ADC Timer外设测试

航芯ACM32G103开发板评测 08 ADC Timer外设测试 1. 软硬件平台 ACM32G103 Board开发板MDK-ARM Keil 2. 定时器Timer 在一般的MCU芯片中,定时器这个外设资源是非常重要的,一般可以分为SysTick定时器(系统滴答定时器)、常规定时…...

【Linux学习】生产者-消费者模型

目录 22.1 什么是生产者-消费者模型 22.2 为什么要用生产者-消费者模型? 22.3 生产者-消费者模型的特点 22.4 BlockingQueue实现生产者-消费者模型 22.4.1 实现阻塞队列BlockQueue 1) 添加一个容器来存放数据 2)加入判断Blocking Queue情况的成员函数 3)实现push和pop方法 4)完…...

三、案例 - MySQL数据迁移至ClickHouse

MySQL数据迁移至ClickHouse 一、生成测试数据表和数据1.在MySQL创建数据表和数据2.在ClickHouse创建数据表 二、生成模板文件1.模板文件内容2.模板文件参数详解2.1 全局设置2.2 数据读取(Reader)2.3 数据写入(Writer)2.4 性能设置…...

[WinForm开源]概率计算器 - Genshin Impact(V1.0)

创作目的:为方便旅行者估算自己拥有的纠缠之缘能否达到自己的目的,作者使用C#开发了一款小型软件供旅行者参考使用。 创作说明:此软件所涉及到的一切概率与规则完全按照游戏《原神》(V4.4.0)内公示的概率与规则(包括保底机制&…...

vscode 代码调试from IPython import embed

一、讲解 这种代码调试方法非常的好用。 from IPython import embed上面的代码片段是用于Python中嵌入一个交互式IPython shell的方法。这可以在任何Python脚本或程序中实现,允许在执行到该点时暂停程序,并提供一个交互式环境,以便于检查、…...

双活工作关于nacos注册中心的数据迁移

最近在做一个双活的项目,在纠结一个注册中心是在双活机房都准备一个,那主机房的数据如果传过去呢,查了一些资料,最终在官网查到了一个NacosSync 的组件,主要用来做数据传输的,并且支持在线替换注册中心的&a…...

5G NR 信道号计算

一、5G NR的频段 增加带宽是增加容量和传输速率最直接的方法,目前5G最大带宽将会达到400MHz,考虑到目前频率占用情况,5G将不得不使用高频进行通信。 3GPP协议定义了从Sub6G(FR1)到毫米波(FR2)的5G目标频谱。 其中FR1是5G的核心频段&#xff0…...

01-Spring实现重试和降级机制

主要用于在模块调用中,出现失败、异常情况下,仍需要进行重复调用。并且在最终调用失败时,可以采用降级措施,返回一般结果。 1、重试机制 我们采用spring 提供的retry 插件,其原理采用aop机制,所以需要额外…...

docker部署showdoc

目录 安装 1.拉取镜像 2.创建容器 使用 1.选择语言 2.默认账户/密码:showdoc/123456​编辑 3.登陆 4.首页 安装 1.拉取镜像 docker pull star7th/showdoc 2.创建容器 mkdir -p /opt/showdoc/html docker run -d --name showdoc --userroot --privilegedtrue -p 1005…...

2.14作业

1.请编程实现二维数组的杨辉三角。 2.请编程实现二维数组计算每一行的和以及列和。 3.请编程实现二维数组计算第二大值。 4.请使用非函数方法实现系统函数strcat,strcmp,strcpy,strlen. strcat: strcmp: strcpy: strlen:...

01.数据结构篇-链表

1.找出两个链表的交点 160. Intersection of Two Linked Lists (Easy) Leetcode / 力扣 例如以下示例中 A 和 B 两个链表相交于 c1: A: a1 → a2↘c1 → c2 → c3↗ B: b1 → b2 → b3 但是不会出现以下相交的情况,因为每个节点只有一个…...

揭秘产品迭代计划制定:从0到1打造完美迭代策略

产品迭代计划是产品团队确保他们能够交付满足客户需求的产品以及实现其业务目标的重要工具。开发一个成功的产品迭代计划需要仔细考虑产品的目标、客户需求、市场趋势和可用资源。以下是帮助您创建产品迭代计划的一些步骤:建立产品目标、收集客户反馈、分析市场趋势…...

Python进阶--下载想要的格言(基于格言网的Python爬虫程序)

注:由于上篇帖子(Python进阶--爬取下载人生格言(基于格言网的Python3爬虫)-CSDN博客)篇幅长度的限制,此篇帖子对上篇做一个拓展延伸。 目录 一、爬取格言网中想要内容的url 1、找到想要的内容 2、抓包分析,找到想…...

C语言--------数据在内存中的存储

1.整数在内存中的存储 整数在内存是以补码的形式存在的; 整型家族包括char,int ,long long,short类型; 因为char类型是以ASCII值形式存在,所以也是整形家族; 这四种都包括signed,unsigned两种,即有符号和无符号&am…...

【Java】零基础蓝桥杯算法学习——线性动态规划(一维dp)

线性dp——一维动态规划 1、考虑最后一步可以由哪些状态得到,推出转移方程 2、考虑当前状态与哪些参数有关系,定义几维数组来表示当前状态 3、计算时间复杂度,判断是否需要进行优化。 一维动态规划例题:最大上升子序列问题 Java参…...

Excel模板1:彩色甘特图

Excel模板1:彩色甘特图 分享地址 当前效果:只需要填写进度, 其余效果都是自动完成的 。 阿里网盘永久分享:https://www.alipan.com/s/cXhq1PNJfdm ​省心。能用公式的绝不使用手动输入。 ​​ 这个区域以及标题可以手动输入…...

如何重新安装 macOS

你可以使用电脑的内建恢复系统“macOS 恢复”来重新安装 Mac 操作系统。不但简单快捷,而且重新安装后不会移除你的个人数据。 将 Mac 关机 选取苹果菜单  >“关机”,然后等待 Mac 关机。如果你无法将 Mac 关机,请按住它的电源按钮最长 …...

TDengine 快速体验(Docker 镜像方式)

简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...

【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具

第2章 虚拟机性能监控,故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令:jps [options] [hostid] 功能:本地虚拟机进程显示进程ID(与ps相同),可同时显示主类&#x…...

蓝桥杯3498 01串的熵

问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798&#xff0c; 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

Java线上CPU飙高问题排查全指南

一、引言 在Java应用的线上运行环境中&#xff0c;CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时&#xff0c;通常会导致应用响应缓慢&#xff0c;甚至服务不可用&#xff0c;严重影响用户体验和业务运行。因此&#xff0c;掌握一套科学有效的CPU飙高问题排查方法&…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲

文章目录 前言第一部分&#xff1a;体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分&#xff1a;体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...

【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制

使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下&#xff0c;限制某个 IP 的访问频率是非常重要的&#xff0c;可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案&#xff0c;使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...

9-Oracle 23 ai Vector Search 特性 知识准备

很多小伙伴是不是参加了 免费认证课程&#xff08;限时至2025/5/15&#xff09; Oracle AI Vector Search 1Z0-184-25考试&#xff0c;都顺利拿到certified了没。 各行各业的AI 大模型的到来&#xff0c;传统的数据库中的SQL还能不能打&#xff0c;结构化和非结构的话数据如何和…...

es6+和css3新增的特性有哪些

一&#xff1a;ECMAScript 新特性&#xff08;ES6&#xff09; ES6 (2015) - 革命性更新 1&#xff0c;记住的方法&#xff0c;从一个方法里面用到了哪些技术 1&#xff0c;let /const块级作用域声明2&#xff0c;**默认参数**&#xff1a;函数参数可以设置默认值。3&#x…...