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

NumPy进阶(二)

2. NumPy进阶(二)

2.1 Numpy数组操作

2.1.1 添加元素

numpy.append 函数在数组的末尾添加值。 追加操作会分配整个数组,并把原来的数组复制到新数组中
注意:

  1. 插入的维度要保证所有数组的长度是相同的
  2. 如果没有指定轴,数组会被扁平处理

在这里插入图片描述

  • ndarray中 append使用方法
np.append(arr, 8) # 数组app使用方法 
""" 结果
array([1, 2, 3, 4, 5, 8])
"""
arr2 = np.random.randint(0, 10, size=(4,3))
arr2
""" 结果
array([[3, 8, 3],[1, 4, 8],[6, 9, 9],[5, 5, 2]])
"""np.append(arr2, [[1,2,3]], axis=0) # 添加一行
""" 结果
array([[3, 8, 3],[1, 4, 8],[6, 9, 9],[5, 5, 2],[1, 2, 3]])
"""data = np.ones(shape=(4,1))
display(data)
""" 结果
array([[1.],[1.],[1.],[1.]])
"""display(arr2)
"""
array([[3, 8, 3],[1, 4, 8],[6, 9, 9],[5, 5, 2]])
"""
np.append(arr2, data, axis=1) # 添加一列
"""
array([[3., 8., 3., 1.],[1., 4., 8., 1.],[6., 9., 9., 1.],[5., 5., 2., 1.]])
"""

2.1.2 插入元素

numpy.insert 函数在给定索引之前,沿给定轴在输入数组中插入值

如果未提供轴,则输入数组会被展开
在这里插入图片描述

2.1.3 删除元素

numpy.delete 函数返回从输入数组中删除指定子数组的新数组。

如果未提供轴参数,则输入数组将展开。
在这里插入图片描述

2.1.4 reshape

numpy.reshape 函数可以在不改变数据的条件下修改形状,格式如下: numpy.reshape(arr, newshape, order=‘C’)

- arr:要修改形状的数组
- newshape:整数或者整数数组,新的形状应当兼容原有形状
- order:'C' -- 按行,'F' -- 按列,'A' -- 原顺序,'k' -- 元素在内存中的出现顺序。

在这里插入图片描述

2.1.5. 数组迭代器

numpy.ndarray.flat
for循环与 flat 对比,有下例可见多维数组使用for繁琐,flat更为简洁
在这里插入图片描述

2.1.6. 数组扁平处理

numpy.ndarray.flatten() 返回一份展开的数组拷贝,对拷贝所做的修改不会影响原始数组

numpy.ravel() 展平的数组元素,返回一个展开的数组引用,修改会影响原始数组。

2.1.7. 数组翻转

numpy.transpose 对换数组的维度
在这里插入图片描述

2.2 数学函数

2.2.1 三角函数

np.sin(), np.cos(), np.tan()

接收的参数是弧度,不是角度
在这里插入图片描述

1.2.2. 舍入函数

numpy.around()

a: 数组
decimals: 舍入的小数位数。 默认值为0。 如果为负,整数将四舍五入到小数点左侧的位置

在这里插入图片描述

2.3. 算数函数

加减乘除: add(),subtract(),multiply() 和 divide()

numpy.power() 幂运算,可以做开方运算

numpy.mode() 求余运算

np.log() 自然底数的对数 np.log2(), np.log10()

2.4. Numpy 查找和排序

2.4.1. 查找索引

numpy.argmax() 和 numpy.argmin() 分别是查找最大值索引位置, 最小值索引位置

1.4.2. 条件查找

numpy.where(condition) 函数返回输入数组中满足给定条件的元素的索引, 返回索引位置

  • condition 条件 条件表达式
    在这里插入图片描述

2.4.3. 快速排序

np.sort()与ndarray.sort()都可以,但有区别:

np.sort()不改变输入
ndarray.sort()本地处理,不占用空间,但改变输入
numpy.sort() 函数返回输入数组的排序副本

1.4.4. 索引排序

numpy.argsort() 函数返回的是数组值从小到大的索引值。
在这里插入图片描述

1.4.5. 部分排序

np.partition(a,k)

有的时候我们不是对全部数据感兴趣,我们可能只对最小或最大的一部分感兴趣。

当k为正时,我们想要得到最小的k个数
当k为负时,我们想要得到最大的k个数

相关文章:

NumPy进阶(二)

2. NumPy进阶(二) 2.1 Numpy数组操作 2.1.1 添加元素 numpy.append 函数在数组的末尾添加值。 追加操作会分配整个数组,并把原来的数组复制到新数组中 注意: 插入的维度要保证所有数组的长度是相同的如果没有指定轴,数组会被扁平处理 ndarr…...

计算机专业,不擅长打代码,考研该怎么选择?

考研其实和你的代码能力关系不大 所以在选学校以前可以看看有哪些学校复试是要求上机撸代码的,可能会要求比较严 初试真的不用担心代码问题,我也是基本零编程能力就开始备考考研的... 本人双非科班出身备考408成功上岸,在这里也想给想考40…...

SQL Server的详细使用教程

安装SQL Server 下载SQL Server 安装程序运行安装程序,选择"基本"安装类型在"实例配置"页面,将实例命名为"SQLServerTest"在"服务器配置"页面,选择"NT服务\系统"作为启动账户完成其他设置,然后安装SQL Server 连接SQL Serve…...

挑错罐头=“害猫”!猫咪主食罐到底应该怎么选?

猫咪罐头已经成为众多猫奴们的喂养首选。它富含水分,有助于猫咪保持良好的泌尿系统健康,尤其对于那些不太喜欢饮水的猫咪来说,罐头无疑是补充水分的理想方式。罐头的口感极佳,肉质细腻,能够激发猫咪的食欲,…...

43---SATA电路设计

视频链接 SATA硬件电路设计01_哔哩哔哩_bilibili SATA电路设计 1、硬盘分类 硬盘按照原理可以分为机械硬盘(HDD)、固态硬盘(SSD)以及混合硬盘(SSHD)三类。 1.1、机械硬盘(HDD) …...

think:该写什么样的blog

前言 好久没更新blog,简单写点东西。随着chatgpt为首的大模型兴起,发现周边的很多程序员逐步减少使用google,Stack Overflow等搜索常见的问题,csdn流量估计也会受到不小的影响。chatgpt的下限不低,从简单的语法查询到…...

【APUE】网络socket编程温度采集智能存储与上报项目技术------多路复用

作者简介: 一个平凡而乐于分享的小比特,中南民族大学通信工程专业研究生在读,研究方向无线联邦学习 擅长领域:驱动开发,嵌入式软件开发,BSP开发 作者主页:一个平凡而乐于分享的小比特的个人主页…...

GitHub 仓库 (repository) Pulse - Contributors - Network

GitHub 仓库 [repository] Pulse - Contributors - Network 1. Pulse2. Contributors3. NetworkReferences 1. Pulse 显示该仓库最近的活动信息。该仓库中的软件是无人问津,还是在火热地开发之中,从这里可以一目了然。 2. Contributors 显示对该仓库进…...

C语言题目:阶乘数列求和(函数)

题目描述 输入一个正数x和一个正整数n,求下列算式的值。要求定义两个调用函数:fact(n)计算n的阶乘;mypow(x,n)计算x的n次幂(即xn),两个函数的返回值类型是double。 x - x2/2! x3/3! ... (-1)n-1xn/n! …...

Unity与CocosCreator对比学习二

一、锚点与适配 1.在Creator中 适配通过锚点、位置和Widget达到适配目的;锚点是节点在其父节点坐标系中坐标对其点,其x,y范围在[0, 1]之间; 锚点为(0, 0)时在节点自身的左下角,节点坐标指其左下角在父节点中的坐标;锚…...

01-Git 快速入门

https://learngitbranching.js.org/?localezh_CN在线练习git 1. Git 安装好Git以后, 先检查是否已经绑定了用户名和邮箱 git config --list再检查C:\Users\xxx.ssh 下是否存在 id_rsa.pub , 存在的话复制其内容到 GitHub 的 SSH KEY 中 没有这一步, PUSH操作的时候会报错:…...

Axure RP中的相关概念及高保真原型构建方法

1 Axure RP中概念介绍 对于构建高保真原型来说,需要知道事件(Event)、Case、Action等概念。Axure RP中给出这些概念,是为了方便原型的构建,尤其是高保真原型的构建。 事件(Event)是附着于控件…...

Ruoyi-vue-pro Vue + nginx 二级目录部署到云服务器

http://www.your-server.com/ 这是一级目录,由于项目多,一般会通过二级域名http://oa.your-server.com/或二级目录http://www.your-server.com/oa来发布,本篇记录一下二级目录发布。先看效果 1、router/index.js配置base export default new …...

leetcode2529--正整数和负整数的最大计数

1. 题意 给定有序数组&#xff0c;求其中正整数和负整数的计数最大值。 正整数和负整数的最大计数 2. 题解 2.1 遍历 直接判断 class Solution { public:int maximumCount(vector<int>& nums) {int neg 0;int pos 0;for (int num:nums) {if (!num)continue;i…...

使用YOLOv8训练自己的【目标检测】数据集

文章目录 1.收集数据集1.1 使用开源已标记数据集1.2 爬取网络图像1.3 自己拍摄数据集1.4 使用数据增强生成数据集1.5 使用算法合成图像 2.标注数据集2.1确认标注格式2.2 开始标注 3.划分数据集4.配置训练环境4.1获取代码4.2安装环境 5.训练模型5.1新建一个数据集yaml文件5.2预测…...

rust学习(recursive mutex 实现)

问题&#xff1a; 编写如下代码的时候出现死锁&#xff1a; pub fn test_double_lock() {let t Arc::new(Mutex::new(1));let t1 t.clone();let t2 t.clone();let h std::thread::spawn(move || {println!("hello trace1");let l1 t1.lock().unwrap();println…...

DasViewer可以添加照片到里面吗?点开就可以看照片?

DasViewer主要是三维模型浏览器&#xff0c;二维可以添加矢量和正射影像&#xff0c;航片暂不支持。 DasViewer是由大势智慧自主研发的免费的实景三维模型浏览器,采用多细节层次模型逐步自适应加载技术,让用户在极低的电脑配置下,也能流畅的加载较大规模实景三维模型,提供方便…...

python蓝桥杯选数

文章目录 前言一、题意二、代码1.代码的实现2.读入数据 总结 前言 本题涉及到很多python中的知识点&#xff0c;比如combinations&#xff08;列表的组合&#xff09;应用&#xff0c;以及素数的判断 一、题意 已知 n 个整数 x1,x2,…,xn,以及一个整数 k&#xff08;k&#x…...

联想电脑开启虚拟化失败,开启虚拟化却提示还没有开启虚拟化

安装虚拟机的时候&#xff0c; 电脑要开启虚拟化&#xff0c; Intel VT&#xff0c; 去BIOS开启了&#xff0c; 但是依然报错&#xff0c;说虚拟化处于禁用状态。 解决方案&#xff1a; 去联想官方&#xff0c;下载BIOS更新包&#xff0c;更新BIOS。 更新文档&#xff1a; 联…...

物联网农业四情在线监测系统

TH-Q2随着科技的飞速发展和信息化时代的来临&#xff0c;物联网技术在各个领域都取得了显著的应用成果。其中&#xff0c;物联网农业四情在线监测系统作为农业现代化的重要组成部分&#xff0c;正在为农业生产带来革命性的变革。 一、物联网农业四情在线监测系统的概念 物联网…...

基于CircuitPython的嵌入式游戏开发:从帧缓冲区到对象池的Flappy Bird实现

1. 项目概述&#xff1a;当Flappy Bird遇上CircuitPython如果你玩过经典的Flappy Bird&#xff0c;也捣鼓过像Raspberry Pi Pico这样的微控制器&#xff0c;那你有没有想过把这两者结合起来&#xff1f;我最近就用CircuitPython在RP2040开发板上完整复刻了一个“猫版”Flappy B…...

量化交易性能优化:高性能内存管理与计算加速实践

1. 项目概述与核心价值最近在量化交易社区里&#xff0c;一个名为Lexus2016/turbo_quant_memory的项目引起了我的注意。乍一看这个标题&#xff0c;它融合了几个非常吸引人的关键词&#xff1a;“Turbo”&#xff08;涡轮增压&#xff0c;意指加速&#xff09;、“Quant”&…...

Step-by-Step知识蒸馏:让小模型学会大模型的推理过程

1. 项目概述&#xff1a;当“小个子”也能学会“大智慧”最近在模型压缩和知识蒸馏的圈子里&#xff0c;一个挺有意思的讨论点又热了起来&#xff1a;我们有没有可能让一个参数规模小得多的模型&#xff0c;通过一种更精细、更“手把手”的教学方式&#xff0c;达到甚至逼近那些…...

GPT-4 API交互式实验场:开发者如何自建安全可控的Playground

1. 项目概述&#xff1a;一个面向开发者的GPT-4交互式实验场如果你是一名开发者&#xff0c;或者对大型语言模型&#xff08;LLM&#xff09;的应用开发感兴趣&#xff0c;那么你很可能已经不止一次地思考过&#xff1a;如何能更高效、更直观地测试GPT-4的API能力&#xff1f;如…...

G-Helper终极教程:华硕笔记本轻量级性能控制神器

G-Helper终极教程&#xff1a;华硕笔记本轻量级性能控制神器 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivobook, Zenbook, Expertb…...

基于CircuitPython的电机动态性能测试系统:从原理到实践

1. 项目概述与核心价值搞电机驱动&#xff0c;最怕的就是“凭感觉”。你手上有个直流有刷电机&#xff0c;数据手册上写着空载转速12000转&#xff0c;堵转扭矩50mNm&#xff0c;但实际装到你的机器人关节或者小车上&#xff0c;带上传动机构&#xff0c;性能到底怎么样&#x…...

Mac运行CORE Keygen受阻?巧用UPX与brew轻松解包

1. 当Mac遇到CORE Keygen无法运行时该怎么办&#xff1f; 最近有不少朋友在Mac上运行CORE Keygen时遇到了问题&#xff0c;双击应用图标后要么毫无反应&#xff0c;要么直接弹出"无法打开"的提示。这种情况其实很常见&#xff0c;特别是对于一些特殊用途的应用程序。…...

如何快速掌握BepInEx:从游戏玩家到插件开发者的完整指南

如何快速掌握BepInEx&#xff1a;从游戏玩家到插件开发者的完整指南 【免费下载链接】BepInEx Unity / XNA game patcher and plugin framework 项目地址: https://gitcode.com/GitHub_Trending/be/BepInEx BepInEx是一款强大的Unity游戏插件框架&#xff0c;为游戏模组…...

UE5《Electric Dreams》项目PCG技术解析 之 基于PCGSettings的模块化关卡构建

1. PCG技术为何成为UE5开发者的新宠 第一次在UE5.2中接触到PCG框架时&#xff0c;那种感觉就像从手动挡汽车换成了自动驾驶。以前用Houdini做程序化生成时&#xff0c;光是处理插件兼容性和资源导入问题就能耗掉大半天。现在原生集成的PCG框架直接把开发效率提升了至少三倍&…...

为什么FlicFlac是Windows用户必备的音频格式转换神器?

为什么FlicFlac是Windows用户必备的音频格式转换神器&#xff1f; 【免费下载链接】FlicFlac Tiny portable audio converter for Windows (WAV FLAC MP3 OGG APE M4A AAC) 项目地址: https://gitcode.com/gh_mirrors/fl/FlicFlac 还在为不同设备间的音频格式不兼容而烦…...