numpy中数组的操作

目录

一:数组的属性

二:翻转数组

三:数组的计算


一:数组的属性

NumPy 数组(通常称为 ndarray)有许多有用的属性,这些属性可以帮助你了解数组的各个方面。以下是一些主要的属性:

dtype:这是数组的数据类型,如 int32, float64, complex128 等。你可以使用它来查看或修改数组的数据类型。


shape:这是一个元组,描述了数组的维度。对于一维数组,它是一个包含单一元素的元组;对于二维数组,它是一个包含行数和列数的元组;对于更高维度的数组,它可以包含更多元素。例如,一个形状为 (3, 4) 的二维数组有 3 行和 4 列。


size:这是数组中元素的数量。它等于 numpy.prod(array.shape),或者如果你只处理一维数组,它就是数组的长度。


itemsize:这是数组中每个元素的大小(以字节为单位)。例如,对于一个 int64 类型的数组,itemsize 将是 8。


nbytes:这是数组在内存中占用的字节数。它等于 numpy.prod(array.shape) * array.itemsize。


ndim:这是数组的维度数。一维数组的维度数为 1,二维数组的维度数为 2,以此类推。

flat:这是一个一维数组视图,包含了原数组的所有元素。


ctypes:如果数组的数据类型是 ctypes 兼容的,这个属性会返回一个描述数据类型的 ctypes 对象。


要访问这些属性,你只需要使用点操作符(.)来访问它们,就像访问对象的方法一样。例如,要获取一个数组的 dtype,你可以使用 array.dtype。

下面是一个例子展示一个数组的属性信息

a = np.ones((3,2))


a.dtype  数据类型

a.size

a.itemsize

a.nbytes

a.ndim

二:翻转数组

使用numpy.flip()函数:
这个函数会沿着指定的轴翻转数组。默认情况下,它会翻转数组的轴0。

a = np.array([[1,2,3],[4,5,6]])
print(np.flipud(a))  # 

使用numpy.fliplr()函数:
这个函数会沿着轴1翻转数组。相当于numpy.flip(arr, axis=1)。

a = np.array([[1,2,3],[4,5,6]])
print(np.fliplr(a))  #

三:数组的计算

加减剩除:

a = np.array([9,9,9])
print('第一个数组:')
print(a)
print('\n')
print('第二个数组:')
b = np.array([10, 10, 10])
print(b)
print('\n')
print('两个数组相加:')
print(np.add(a, b))
print('\n')
print('两个数组相减:')
print(np.subtract(a, b))
print('\n')
print('两个数组相乘:')
print(np.multiply(a, b))
print('\n')
print('两个数组相除:')
print(np.divide(a, b))

统计元素大小

numpy.amin() 用于计算数组中的元素沿指定轴的最小值。

numpy.amax() 用于计算数组中的元素沿指定轴的最大值。

第一个参数是数组,第二个参数是所沿的轴,对于二维数组,0的话就是每一行的最小值,1的话就是每一列的最小值,不指定轴的话,默认为所有元素的最小值

arr = np.array([[1,2,3],[4,5,6],[7,8,9]])
print(arr)
print(np.amin(arr,0))
print(np.amin(arr,1))
print(np.amin(arr))

print(np.amax(arr,0))
print(np.amax(arr,1))
print(np.amax(arr))

计算平均值

a = np.array([[1, 2, 3], [4, 5, 6]])

print(np.mean(a))

print(np.mean(a, axis=0))

print(np.mean(a, axis=1))
 

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

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

相关文章

数据库MySQL----索引及视图

学生表:Student (Sno, Sname, Ssex , Sage, Sdept) 学号,姓名,性别,年龄,所在系 Sno为主键 课程表:Course (Cno, Cname,) 课程号,课程名 Cno为主键 学生选课表:SC (Sno, Cno, Score)…

代码随想录算法训练营第二十三天| 669. 修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树

669. 修剪二叉搜索树 题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 解题思路:如果当前结点小于所给区间,那该节点及其左子树肯定不符合条件,返回其右子树作为上一结点子树;反之…

使用Portainer创建Nginx容器并部署本地网站结合内网穿透实现公网访问

文章目录 前言1. 安装Portainer1.1 访问Portainer Web界面 2. 使用Portainer创建Nginx容器3. 将Web静态站点实现公网访问4. 配置Web站点公网访问地址4.1公网访问Web站点 5. 固定Web静态站点公网地址6. 固定公网地址访问Web静态站点 前言 Portainer是一个开源的Docker轻量级可视…

postman后端测试时invalid token报错+token失效报错解决方案

报错信息1{“msg”:“invalid token”,“code”:401} 没有添加postman的token信息 报错信息2{“msg”: “token失效,请重新登录”,“code”: 401} 写了token但是token信息写的是错的,会提示token失效 解决方案如下 仅写完后端的查询,但是前端还没写的时候,可…

【Golang】实现简单队列(Queue)数据结构

在计算机科学中,队列是一种特殊的线性数据结构,它遵循FIFO(先进先出)原则。队列中的元素只能从一端(称为队尾或后端)添加,并且只能从另一端(称为队头或前端)移除。这种特…

200SMART作为智能控制器和智能设备使用

200SMART固件版本在V2.5以上的标准型CPU都支持PROFINET IO控制器和IO设备使用。 S7-200SMART作为智能设备仅支持1个IO控制器,可配置的输入输出存储区都为128个字节,地址范围分别为I(Q)1152.0到I(Q)1279.7;每个CPU支持最多8个PROFINET IO设备&#xff0c…

[字符串专题]反转|数字替换|单词反转|右旋转字符串

1.字符串反转 class Solution { public:void reverseString(vector<char>& s) {for(int i0,js.size()-1;i<j;i,j--){char tmps[j];s[j]s[i];s[i]tmp;}} }; 2. 给定一个字符串 s 和一个整数 k&#xff0c;从字符串开头算起&#xff0c;每计数至 2k 个字符&#xf…

SQL笔记 -- 数据库结构优化

1. 拆分表&#xff08;冷热数据分离&#xff09; 不常用的数据为冷数据&#xff0c;反之则为热数据。如果一个表中的数据存在明显的使用频率差异&#xff0c;那么可以将冷热数据分离。通过这种分解可以提高表的查询效率。对于字段很多且有些字段使用不频繁的表&#xff0c;可以…

$route和$router的区别

$route 对象是一个包含当前路由信息的对象&#xff0c;它提供了对当前激活的路由的访问和控制。$route 对象具有以下属性&#xff1a; $route.path&#xff1a;当前路由路径的字符串表示。 $route.params&#xff1a;一个对象&#xff0c;包含动态路由参数和查询参数。 $rout…

Rust之构建命令行程序(三):重构改进模块化和错误处理

开发环境 Windows 10Rust 1.74.1 VS Code 1.85.1 项目工程 这次创建了新的工程minigrep. 重构改进模块化和错误处理 为了改进我们的程序&#xff0c;我们将修复与程序结构及其处理潜在错误的方式有关的四个问题。首先&#xff0c;我们的main函数现在执行两项任务:解析参数和…

adb、monkey的下载和安装

adb下载 官网网址&#xff1a;Downloads - ADB Shell 尽量不要下载最新的ADB Kits&#xff0c;因为兼容性可能不太好。 点击下载 ADB Kits 作者下载的版本是1.0.36 解压adb 到指定的目录即可。 然后把adb配置 环境变量。 检查adb是否安装成功

Java的特点及解析

Java 的一些主要特点及解析&#xff1a; 面向对象编程&#xff08;OOP&#xff09;&#xff1a;Java 是一种面向对象编程语言&#xff0c;它将代码组织成多个相互关联的对象&#xff0c;每个对象具有特定的属性和行为。这种编程范式使得代码更易于理解、维护和扩展。 跨平台性…

React导航守卫(V6路由)

下载&#xff1a; npm i react-router-dom 当登录之后才可以去访问其他页面 (1)在登录页面&#xff0c;我们点击登录的时候&#xff0c;保存一个token,在登录页面引入重定向useNavigate import { useNavigate } from react-router-domconst navigate useNavigate()const l…

java数据库操作

数据库类分析 java.sql.DriverManager&#xff1a; 驱动管理器静态类&#xff0c;类加载时会自动加载配置文件中jdbc.drivers配置的驱动&#xff0c;所有数据库驱动类加载时会调用DriverManager.registerDriver注册自己到DriverManager中&#xff0c;如下代码&#xff0c;为or…

项目开发中安全问题及解决方法-----用户标识不能从客户端获取

服务端直接使用了客户端传过来的用户标识&#xff0c;导致了安全问题&#xff1a; GetMapping("wrong") public String wrong(RequestParam("userId") Long userId) {return "当前用户Id&#xff1a;" userId; }开发同学没有正确认识接口或服务…

Git学习笔记(第1章):Git概述

Git是一个免费的、开源的分布式版本控制系统&#xff0c;可以快速高效地处理从小型到大型的各种项目。 Git易于学习&#xff0c;占地面积小&#xff0c;性能极快。它具有廉价的本地库&#xff0c;方便的暂存区域和多个工作流分支等特性。其性能优于Subversion、CVS、Perforce 和…

常见的系统性能指标:QPS、TPS

&#x1f339;作者主页&#xff1a;青花锁 &#x1f339;简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java微服务架构公号作者&#x1f604; &#x1f339;简历模板、学习资料、面试题库、技术互助 &#x1f339;文末获取联系方式 &#x1f4dd; 系列专栏目录 [Java项目…

华为设备NAT的配置

实现内网外网地址转换 静态转换 AR1&#xff1a; sys int g0/0/0 ip add 192.168.10.254 24 int g0/0/1 ip add 22.33.44.55 24 //静态转换 nat static global 22.33.44.56 inside 192.168.10.1 动态转换 最多有两台主机同时访问外网 AR1&#xff1a; sys int g0/0/0 ip add…

MySQL5.7之grant

官网地址&#xff1a;MySQL :: MySQL 5.7 Reference Manual :: 13.7.1.4 GRANT Statement 欢迎关注留言&#xff0c;我是收集整理小能手&#xff0c;工具翻译&#xff0c;仅供参考&#xff0c;笔芯笔芯. Mysql5.7参考手册 / ... / 赠款声明 13.7.1.4 GRANT Statement GRAN…

享元模式介绍

目录 一、享元模式介绍 1.1 享元模式定义 1.2 享元模式原理 1.2.1 享元模式类图 1.2.2 模式角色说明 1.2.3 示例代码 二、享元模式的应用 2.1 需求说明 2.2 需求实现 2.2.1 类图 2.2.2 具体实现 2.2.2.1 抽象享元类 2.2.2.2 共享享元类-白色棋子 2.2.2.3 共享享元…