day01-Numpy的安装

numpy的安装

同样,anaconda内置有Numpy包

Numpy是用c语言实现的,运算速度比python快得多

import numpy as np
np.__version__
out: 1.18.5

使用Jupyter编辑器打印numpy包的版本

NumPy

ndarray对象

NumPy定义了一个n维数组对象,简称ndarray对象,它是一个一系列相同类型元素组成的数组集合。数组中的每个元素都占有相同大小的内存块。与c语言中的数组大致相同。

ndarray对象采用了数组的索引机制,存储方式几乎相同

ndarray参数

numpy.array(object,dtype=None,copy=True,order=None,subok=False,admin=0)

参数说明:在这里插入图片描述

  • object:可以是一个列表、元组,必须给定
  • dtype:float,int,可强制转化
  • 求一个数组的秩array.ndim
#创建实列
np.array([i for i in range(10) if i%2==0])
#得到array[0,2,4,6,8]
np.array([1,2,3,4.5,'5'])
#得到np.array(['1','2','3','4.5','5'])
#会自动往内存最大的类型转换
np.array([[1,2,3],('a','b','c')
])
#得到array([['1','2','3'],['a','b','c']])
#是一个二维数组
np.array([[1,2,3],('a','b','c','d')
])
#当嵌套序列数量不一样时,会转化为一维数组
#array([list(1,2,3),['a','b','c','d'])
np.array([1,2.5,3.1,4.0,5],dtype='int')
#得到array([1,2,3,4,5])向下取整。round()为四舍五入函数

对于第三个参数的说明:

my_list1 = [1,2,3,4]
my_list2 = mylist1
my_list2[1] = 10
#此时输出my_list1 = [1,10,3,4]
#为引用传值。
id(mylist1)#地址
id(mylist2)#地址
#两则的地址是一模一样的。
a = np.array([1,2,3,4])
b = np.array(a)
print('a:',id(a),'b:',id(b))
#结果a数组的地址与b地址不相同
#说明是引用不是赋值,修改b,a不会被修改
a = np.array([1,2,3,4])
b = a
print('a:',id(a),'b:',id(b))
#结果a数组的地址与b地址相同
#说明是引用赋值,修改b,a也会被修改
a = np.array([1,2,3])
print(id(a))b = np.array(a)
print(id(b))c = a.copy()
print(id(c))d = a
print(id(d))#b、c是值传递,d是地址传递

4.ndmin

a = np.array([1,2,3],ndmin = 2)
a.ndim
#输出2得到a为array([[1,2,3]])

5.subok参数,类型为bool值,默认False。True:代表使用object的内部数据类型,False:使用数组的数据类型

array属性

在这里插入图片描述

更改数组维数reshape

a = np.array(20)
#一维数组
a = np.array(20).reshape(4,5)
#改为4行5列的数组,且4*5==20不然报错
调整维度resize
numpy.resize(a,new shape)
如果新数组大于原始数组,则新数组将填充a的重复副本,
#a为2行2列
a=np.array([[0,1],[2,3]])
#一a为原数组创建2行3列的新数组
b23=np.resize(a,(2,3))
b23
#array([[0,1,2],
#		[3,0,1]])
#将0,1,2,3循环填入数组中即填充的为数组的重复副本
#使用0填充需要
#array.resize(new_shape)
a.resize((3,4),refcheck = False)
array.size
#求数组元素个数,二维元素总个数
a.astype('int')
#创建a后强制更改元素类型

arange对象

numpy.arange(start,stop,step,dtype)

参数说明:在这里插入图片描述

np.arange(10)
#array([0>>9])
np.arange(3.1)
#array([0.,1.,2.,3.])可指定为浮点
#而python原生range(3.1)为错误代码不能指定浮点数
x = np.arange(5,dtype = float)
# x = array([0.,1.,2.,3.,4.])
np.arange(10,20,2)
#array([10>>18])
len(x)
#求数组长度,不能求出二维元素总个数
array.size
#求数组元素个数,二维元素总个数

等差数列:linspace对象

用于生成等差数列

np.linspace(start,num=50,endpoint=True,retstep=False,dtype = None)

特点【】左闭右也闭

参数说明:在这里插入图片描述

a = np.linspace(1,10,10)
a
#array([1.,2.,3.,4.,5.,6.,7.,8.,9.,10.])A = np.linspace(0,4,9)
#生成【0-4】均分的array浮点数组B = np.linspace(0,4.1,9)
#生成【0-4.1】均分的array浮点数组ar1 = np.linspace(2.0,3.0,num = 5 ,retstep = True)
#生成一个元组,第一个元素为array([2.,2.25,2.5,2.75,3.])
#第二个参数为步长,即每个元素之间的差值0.25
#(array([2.,2.25,2.5,2.75,3.]),0.25)

等比数列:logspace对象

np.logspace(start,stop,num= 50,endpoint=True,base = 10.0,dtype = None)

参数说明:

在这里插入图片描述

a = np.logspace(0,9,10,base = 2)
#array([1.,2.,4.,8.,16.,32.,64.,128.,256.,512,])
np.logspace(A,B,C,base = D)
  • A:生成数组的起始值为D的A次方
  • B:生成数组的结束值为D的B次方
  • C:总共生成C个数
  • D:指数型数组的底数为D,默认为10
# 我们先使用前3个参数,将[1,5]均匀分成3个数,得到1,3,5},
#然后利用第4个参数base=2(默认是10)使用指数函数可以得到最终输出结果{2^1,2^3,2^5}
np.logspace(1,5,3,base=2)
np.logspace(1.0,2.0, num=10)#等价于下面:
np.linspace(1.0,2.0, num=10)
print (a)
10*a

全0数列:zeros()

创建指定大小的数组,数组元素以0填充

numpy.zeros(shape,dtype=float,order = 'C')

参数说明:

在这里插入图片描述

#1.shape可以给一个数,表示一维的多少个0
np.zeros(5)
#默认为浮点数
#shape可以给一个元组表示维数与个数
np.zeros((2,2))
#2行2列的全0数组
#array([[0.,0.],
#	    [0.,0.]])
np.zeros((2,2,3))
#2块2行3列的全0数组,对于下面定义
array([[[0.,0.,0.],[0.,0.,0.]],[[0.,0.,0.],[0.,0.,0.]]])a = array([[1,2,3],[4,5,6]])
np.zeros_like(a)
#创建出与a数组形状相同、类型相同的全0数列
#array([[0,0,0],
#	    [0,0,0]])
  • 全1数列:np.ones()

总结:

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

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

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

相关文章

js浅拷贝和深拷贝的区别

JavaScript中的浅拷贝和深拷贝的主要区别在于它们如何处理引用类型的数据。 浅拷贝仅复制对象的引用,而不复制对象本身。这意味着新旧对象共享同一块内存空间。因此,如果修改了原始对象,复制的对象也会相应地改变,因为它们实际上是…

利用LabVIEW和机器学习实现无规律物体识别

针对变化无规律的物体识别,LabVIEW结合机器学习算法提供了一种高效的解决方案。介绍如何使用LabVIEW编程实现此功能,包括所需工具包、算法选择和实现步骤,帮助开发者在无规律的复杂环境中实现高精度的物体识别。 1. 项目概述 无规律物体的识…

诺瓦星云入职认知能力SHL测验Verify职业性格问卷OPQ可搜索带解析求职题库

欢迎您开启诺瓦星云的求职旅程 恭喜您进入测评环节,接下来您需要作答两个测验,分别是职业性格问卷OPQ和认知能力测验Verify,总共用时大约1小时,祝您作答顺利! 【华东同舟求职】由资深各行业从业者建立的一站式人才服务网络平台&a…

Day1:二分查找704 移除元素27

题目链接704. 二分查找 - 力扣&#xff08;LeetCode&#xff09; int search(vector<int>& nums, int target) {int left 0;int right nums.size() - 1;int mid (right - left) / 2;while (left < right){if (target nums[mid]){return mid;}else if (target …

docker换源

文章目录 前言1. 查找可用的镜像源2. 配置 Docker 镜像源3. 重启 Docker 服务4. 查看dock info是否修改成功5. 验证镜像源是否更换成功注意事项 前言 在pull镜像时遇到如下报错&#xff1a; ┌──(root㉿kali)-[/home/longl] └─# docker pull hello-world Using default …

react-router-dom 6.4版本的尝鲜和总结

1. 版本概述 1.1 版本发布背景 React Router 6.4 版本是继6.0大版本更新之后的又一重要里程碑。此版本发布于2024年&#xff0c;旨在进一步优化开发者体验&#xff0c;提供更加强大和灵活的路由功能。6.4版本在前一版本的基础上&#xff0c;引入了新的数据抽象&#xff0c;增…

力扣372. 超级次方

Problem: 372. 超级次方 文章目录 题目描述思路复杂度Code 题目描述 思路 1.处理数组指数&#xff1a;如下图可以将其转换为一个递归的操作 2.处理 mod 运算:对于模运算我们有公式&#xff1a; ( a b ) % k ( a % k ) ( b % k ) % k (a \times b) \% k (a \% k) \times (b…

Zookeeper原理

Zookeeper监听原理 监听原理详解 &#xff08;1&#xff09;首先要有一个main()线程 &#xff08;2&#xff09;在main线程中创建Zookeeper客户端&#xff0c;这时就会创建两个线程&#xff0c;一个负责网络连接通信(connet)&#xff0c;一个负责监听(listener) 。 &#xf…

使用Qt Creator时遇到错误“Project ERROR: Xcode not set up properly”的解决方案

最近我在macOS上首次安装了Qt 5.5&#xff0c;并使用Qt Creator开发。然而每次启动或打开项目时&#xff0c;都会遇到以下错误提示&#xff1a; Project ERROR: Xcode not set up properly. You may need to confirm the license agreement by running /usr/bin/xcodebuild.然…

PriorityQueue优先队列详解

PriorityQueue优先队列详解 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们来详细讲解一下Java中非常重要的数据结构之一——PriorityQueue优先队列。P…

Docker 容器操作命令

文章目录 前言1. 创建并运行容器2. 列出容器3. 停止容器4. 启动已停止的容器5. 重启容器6. 进入容器7. 删除容器8. 查看容器日志9. 导出和导入容器10. 管理网络11. 数据卷操作12. 设置容器自启动 前言 Docker 容器操作是 Docker 使用过程中非常重要的一部分。以下是一些常见的…

记录grid布局属性

grid布局 分为容器和项目元素 容器属性 #container{display:grid;grid-template-columns:100px 100px 100px;/* 1fr 表示比例为占1份 */grid-template-columns:1fr 100px 1fr;/*100px为1列,自动填充,容器宽度不足则换行*/grid-template-columns:repeat(auto-fill,100px);/* …

Unity处理Socket粘包拆包

现在游戏协议的数据格式基本上都是用protobuf协议格式&#xff0c;而protobuf最后会转换为二进制&#xff0c;所以这个例子实现的逻辑的也是二进制的处理。 处理粘包拆包的逻辑主要是在DecodePackage方法中。 using System; using System.Collections; using System.Collecti…

2.XSS-存储型

储存型XSS 或持久型 XSS 交互的数据会被存在在数据库里面,永久性存储,具有很强的稳定性。 在留言板里面进行测试一下是否有做过滤 "<>?&66666点击提交 查看元素代码&#xff0c;已经提交完成&#xff0c;并且没有做任何的过滤措施 接下来写一个javascrip…

select实现超时保护机制

1、使用channel优雅地关闭服务 package mainimport ("context""fmt""net/http""os""os/signal""syscall""time" )func IndexHandler(w http.ResponseWriter, r *http.Request) {if r.Method ! http.Me…

软件工程学系统设计

一、概述 软件设计阶段用比较抽象概括的方式确定目标系统如何完成预定的任务&#xff0c;即确定系统的物理模型。 回答系统 “做什么”。 软件设计是将需求转化为最终产品的唯一途径&#xff0c;是后续开发和维护工作的基础。 1、软件设计过程 从工程管理角度&#xff0c;…

AI 语录(一)

Midjourney创始人谈AI Midjourney创始人关于AI的一些看法给了我新的输入&#xff0c;AI越来越智能化给人了一种脊背发凉的感觉&#xff0c;但是从新水源和冲浪板的角度看&#xff0c;学习驾驭AI和AI共存的方式更加积极也更加合理。 "当计算机比99%的人善于视觉想象的时候…

AI网络爬虫:用deepseek批量提取gptstore.ai上的gpts数据

网站首页&#xff1a;https://gptstore.ai/gpts/categories/finance 翻页规律如下&#xff1a; https://gptstore.ai/_next/data/S9vKNrHo4K82xWjuXpw-O/en/gpts/categories/finance.json?slugfinance&page2 https://gptstore.ai/_next/data/S9vKNrHo4K82xWjuXpw-O/en/g…

Python | Leetcode Python题解之第172题阶乘后的零

题目&#xff1a; 题解&#xff1a; class Solution:def trailingZeroes(self, n: int) -> int:ans 0while n:n // 5ans nreturn ans

目标检测经典算法及其应用

目标检测是计算机视觉领域中的一项核心技术,它旨在让计算机能够像人眼一样识别和定位图像或视频中的物体。具体来说,目标检测不仅需要识别出图像或视频中有哪些对象,还要确定它们在图像或视频中的位置(通常以边界框的形式表示)以及它们的类别。 目标检测的基本框架通常包括…