科学计算库Numpy快速入门

news2024/10/6 21:22:57

目录

    • Numpy概述
    • array数组
    • 数组结构
    • 数组类型
    • 数值运算
    • 排序操作
    • 数组形状操作
    • 数组生成函数
    • 四则运算
    • 随机模块
    • 文件读写

Numpy概述

NumPy 是 Python 中的一个开源数学库,提供了快速且便捷的数组处理功能,可以用来进行科学计算、数据分析、算法开发等多种任务。NumPy 是 Python 科学计算生态系统的核心组件之一,与众多科学计算相关的库都依赖NumPy。如果你想在 Python 中进行科学计算,那么必须掌握 NumPy 的使用。
导入numpy

import numpy as np
  • 普通数组list

在这里插入图片描述
可以看出list不能和数值变量进行运算

  • numpy中的数组类型是ndarray

在这里插入图片描述

  • ndarray类型的数组就能和单个数值进行简单运算,过程就是把数字中的每一个元素都与这个数值做运算,即广播机制

在这里插入图片描述

  • 两个ndarray类型的数值运算

在这里插入图片描述

  • 和list一样的索引获取值

在这里插入图片描述

  • 定义多维数组

在这里插入图片描述

  • ndarray数组不仅可以和单个数值进行运算 相同形状的ndarray也可以进行简单运算,就是对应位置的元素分别进行运算

在这里插入图片描述

  • ndarray使用shape知道该矩形的尺寸,而list不支持

在这里插入图片描述

array数组

可以使用list来转换成ndarray
在这里插入图片描述

  • 使用dtype获取数组中元素的类型

在这里插入图片描述

  • 和list 不同的是list的中的元素类型可以不同,ndarray中的元素类型必须相同,如果不同那么会向下转型成一样的,这里有4个int32 一个float64,然后会自动把int32 转成float64

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • ndarray的一些基本操作
    在这里插入图片描述

  • fill 给数组都填充成一个元素
    在这里插入图片描述

  • 索引 切片等与list 没啥区别
    在这里插入图片描述

数组结构

  • 多维数组即矩阵的一些操作

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 这里做并不会新开辟一块内存,而是都指向同一块内存进行操作要使用copy函数 才是新开内存然后赋值过去
    在这里插入图片描述
    在这里插入图片描述

  • 使用arange 产生数组,指定左闭右开的区间,和步长
    在这里插入图片描述

  • 产生bool类型的数组
    在这里插入图片描述

  • 使用布尔类型数组,来拿到对应位置arr的元素,相应位置为true就获取,为false就不取
    在这里插入图片描述

  • 数据初始化10个元素的数组
    在这里插入图片描述

  • 使用这种方法给mask赋值
    在这里插入图片描述

  • 在用上面的mask来获取arr1中相应位置元素

  • 在这里插入图片描述
    -

  • 获取特定位置的坐标 使用where 函数
    在这里插入图片描述

  • 通过这种方式返回特定元素
    在这里插入图片描述

数组类型

  • 指定类型
    在这里插入图片描述

  • 我们可以设置ndarray 存储任意类型,一般计算不推荐这样设置
    在这里插入图片描述
    在这里插入图片描述

  • 使用asarray方法转换类型
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 可以直接通过变量.astype 转换
    在这里插入图片描述

数值运算

  • sum
    在这里插入图片描述

  • 对列求和
    在这里插入图片描述

  • 对行求和
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • prod 累乘
    在这里插入图片描述
    在这里插入图片描述

  • min 最小值
    在这里插入图片描述

  • max 最大值同理
    在这里插入图片描述

  • 返回最大值或最小值索引
    在这里插入图片描述

  • std 标准差
    在这里插入图片描述

  • var 方差
    在这里插入图片描述

  • clip方法是把小于3的改成3 大于5的改成5
    在这里插入图片描述

  • round 四舍五入
    在这里插入图片描述
    在这里插入图片描述

排序操作

  • sort
    在这里插入图片描述

  • argsort 返回排序后下标的变化

在这里插入图片描述

  • searchsorted 在一个已经有序的数组中如果插入一个数组,返回插入元素按照有序的方式插入时,所插入位置的下标
    在这里插入图片描述

-lexsort函数的使用 先按照第2列升序排序,在2列升序的情况下,按照0列降序排序,返回最终下标数组
在这里插入图片描述

数组形状操作

  • shape 查看形状
    在这里插入图片描述

  • 一种改变数组形状的方式
    在这里插入图片描述

  • reshape 改变数组形状的另一种方式,这里没有改变原数组
    在这里插入图片描述
    尺寸形状要能对应上元素总数量,否则就报错

  • newaxis 增加维度
    在这里插入图片描述

  • 左边增加维度
    在这里插入图片描述

  • 增加多个维度
    在这里插入图片描述

  • squeeze 压缩维度 把维度为1的轴全部移除
    在这里插入图片描述

  • 转置 不改变原数组
    在这里插入图片描述
    在这里插入图片描述

  • 数组的连接
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 展开成一维数组
    在这里插入图片描述

数组生成函数

生成ndarray数组的几种方式

  • 直接在参数列表中手写list,或者传入list
    在这里插入图片描述

  • arange 函数
    在这里插入图片描述
    在这里插入图片描述

  • linspace
    在这里插入图片描述

  • logspace
    在这里插入图片描述

-meshgrid 生成二维网格
在这里插入图片描述
在这里插入图片描述

  • 返回行向量 返回列向量

在这里插入图片描述

  • 生成全为0的zeros 和全为1的ones
    在这里插入图片描述
    在这里插入图片描述
  • empty 元素是随机的
    在这里插入图片描述
  • fill 填充特定值
    在这里插入图片描述
  • zeros_like ones_like 照着给定数组尺寸生成全是0 全是1 的数组
    在这里插入图片描述
  • identity 生成单位阵
    在这里插入图片描述

四则运算

  • multiply
    在这里插入图片描述
  • dot 矩阵相乘
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述

  • ==

在这里插入图片描述

  • 与运算
    在这里插入图片描述
  • 或运算
    在这里插入图片描述
  • 非运算
    在这里插入图片描述

随机模块

  • random.rand

在这里插入图片描述

  • random.randint
    在这里插入图片描述
  • random.random_sample
    在这里插入图片描述
  • random.normal
    在这里插入图片描述

在这里插入图片描述

  • 洗牌
    在这里插入图片描述

文件读写

先写入一下数字在文本中
在这里插入图片描述
使用普通方法读文件到数组中
在这里插入图片描述

  • loadtxt
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • savetxt 将数组写到txt中
    在这里插入图片描述

  • 直接读写ndarray 保存形式有.npy .npz

  • save
    在这里插入图片描述

  • savez
    在这里插入图片描述

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

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

相关文章

InnoDB 磁盘结构及表空间 ( Tablespaces )

InnoDB磁盘主要包含Tablespaces,InnoDB Data Dictionary、Doublewrite Buffer、redo log和Undo Logs Tablespaces: 表空间分为系统表空间(ibdata1文件)、临时表空间、常规表空间、Undo表空间以及file-per-table表空间。系统表空间又包括双写…

CDH6.3.2-组件安装安全认证

HDFS 1.选择自定义。 2.选择HDFS ZK YARN然后点继续。 3.选择安装的主机。 4.审核更改默认就行,点继续。 5.配置HDFS的HA。 安装好以后点击hdfs进入实例就能够看到启动了高可用。 6.启动YARN的高可用。 KAFKA 更具需求修改资源 一直点继续就行了 FlUME HI…

CTF权威指南 笔记 -第二章二进制文件- 2.3 -静态链接

目录 地址空间分配 两个链接的方式 按序叠加 相似节合并 静态链接的详细过程 虚拟内存 重定位文件 静态链接库 地址空间分配 我们把之前的两函数分为两个文件 main.c extern int shared extern vooid fun(int *a,int *b); int main(){int a100;func(&a,&share…

MySQL监控告警及可视化:Zabbix+Percona PMP实现(Part III)

MySQL监控告警及可视化:ZabbixPercona PMP实现(Part III) 告警配置配置告警邮箱配置告警消息模板配置告警用户配置告警规则告警测试 告警配置 配置告警邮箱 在Zabbix Web前端的 Administration - Media Types - Email 中配置发送告警信息的…

什么是恺撒密码?如何用Python实现它(36)

小朋友们好,大朋友们好! 我是猫妹,一名爱上Python编程的小学生。 欢迎和猫妹一起,趣味学Python。 今日主题 猫妹目前在看的,ycl Python等级考试五级教材,有一章是介绍恺撒密码的。 今天,咱们…

2023-5-2面试题学习

1、内存的可见性你了解吗,讲述一下? 内存可见性是指多个线程访问同一共享变量时,在一个线程修改了该变量值后,下一个线程能立即看到这种变化的能力。 如果一个变量在多个线程间共享,那么为了避免出现数据不一致的情况&…

为什么DDD难落地?

为什么DDD难落地? lorne 2023-04-23 视频地址: 为什么DDD难落地?_哔哩哔哩_bilibili 洋葱架构图: DDD能解决什么问题? 其实DDD的核心是:提升业务的聚合性、提升业务的拓展性。 DDD的错误认知&#xff…

CentOS7安装和部署Jenkins

安装Java环境 检查旧版: rpm -qa | grep java若已经安装了旧版本,则需要先删除,删除方法: rpm -qa nodeps [java package]安装新版: yum install java-11-openjdk yum install java-11-openjdk-devel(开…

07 KVM虚拟机引导固件安装

文章目录 07 KVM虚拟机引导固件安装7.1 概述7.2 安装方法7.2.1 安装edk软件包7.2.2 查询edk软件是否安装成功 07 KVM虚拟机引导固件安装 7.1 概述 针对不同的架构,引导的方式有所差异。x86支持UEFI(Unified Extensible Firmware Interface)…

MySQL示例数据库(MySQL Sample Databases) 之 World数据库

文章目录 MySQL示例数据库(MySQL Sample Databases) 之 World数据库官方示例数据介绍World数据库World 数据库安装world-db/world.sql的脚本内容参考 MySQL示例数据库(MySQL Sample Databases) 之 World数据库 官方示例数据介绍 MySQL 官方提供了多个示例数据库,在…

【致敬未来的攻城狮计划】— 连续打卡第十九天:RA2E1串口通信基础知识

系列文章目录 1.连续打卡第一天:提前对CPK_RA2E1是瑞萨RA系列开发板的初体验,了解一下 2.开发环境的选择和调试(从零开始,加油) 3.欲速则不达,今天是对RA2E1 基础知识的补充学习。 4.e2 studio 使用教程 5.…

什么是GPT模型,GPT下载和国内镜像

什么是GPT模型,GPT模型是通过预训练的方式,采用无监督学习方式,大量语料输入,经过多次训练后得到模型。它能够自动学习并理解自然语言中的语义、句法和语法信息,并可以用于文本生成、对话系统、情感分析、机器翻译等自…

HTTP第二讲——HTTP相关概念

与HTTP 相关的各种应用 1.网络世界 实际的互联网是由许许多多个规模略小的网络连接而成的,这些“小网络”可能是只有几百台电脑的局域网,可能是有几万、几十万 台电脑的广域网,可能是用电缆、光纤构成的固定网络,也可能是用基站、…

SQL之SQL索引

文章目录 一、索引概述介绍演示优缺点 二、索引结构二叉树B-Tree (多路平衡查找树)BTreeHash 三、索引分类四、索引语法五、SQL性能分析SQL执行频率慢查询日志profile详情 索引使用原则验证索引效率最左前缀法则索引列运算字符串不加引号模糊查询or连接的条件数据分布影响 .SQL…

[LeetCode周赛复盘] 第 103 场双周赛20230429

[LeetCode周赛复盘] 第 103 场双周赛20230429 一、本周周赛总结2656. K 个元素的最大和1. 题目描述2. 思路分析3. 代码实现 2657. 找到两个数组的前缀公共数组1. 题目描述2. 思路分析3. 代码实现 2658. 网格图中鱼的最大数目1. 题目描述2. 思路分析3. 代码实现 2659. 将数组清…

二分(整数二分 浮点数二分)

目录 一、整数二分 模板 右边界二分查找(左开右闭) 左边界二分查找(左闭右开) 应用 数的范围 二、浮点数的二分 模板 应用 算术平方根 三、习题 1.数的三次方根 一、整数二分 tip:满足单调性的数组一定可以…

【Linux】进程优先级 + 环境变量

文章目录 📖 前言1. 进程优先级1.1 什么是优先级:1.2 如何修改优先级: 2. 进程的其他概念2.1 竞争性与独立性:2.2 并行与并发:2.3 进程间优先级的体现:2.4 O(1) 调度算法:2.4 进程上下文&#x…

C语言进阶——数据在内存中的存储,你知道吗?

今天我们深度剖析数据在内存中的存储: 重点知识: 1、数据类型详细介绍 2、整形在内存中的存储:原码、反码、补码 3、大小端字节序介绍及判断 4、浮点型在内存中的存储解析 之前我们涉及关于这一部分的知识只是大致的进行讲解&#xff0…

网络编程:UDP socket

文章目录 阅读前导 服务端定义日志框架成员属性服务端框架 初始化服务器创建套接字绑定 运行服务端读取数据参数解读 处理数据向客户端发送响应数据关闭文件描述符 客户端定义创建套接字绑定发送数据接收服务器的响应数据关闭文件描述符 测试1本地环回作用 本地测试netstat 指令…

继续科普:ChatGPT 最新写论文使用方法

这两天发现了几个国内就能用的ChatGPT,不需要魔法! 给大家推荐两种方法,大家自行选择: 1、电脑端安装VSCode软件,使用GPT插件: 优点: 无需魔法、无需付费、软件简单易用(稍懂电脑就会用) 缺点: ① 只支持电脑端,不支持手机:软件安装虽简单,但不一定所有人都…