【Numpy学习笔记1】numpy安装、维度、基本运算、改变数据形态

article/2025/10/13 0:49:28

1.Numpy使用场景

  1. 需要批量处理数据的时候
  2. 机器学习,人工智能这些需要进行海量数据运算处理的地方
  3. 写游戏里面的物体运行逻辑时,经常涉及到矩阵、向量运算
  4. 机器人模拟环境,背后的环境反馈信息,全是靠批量数据算出来的
  5. 任何需要做统计的时候(爬虫爬完了信息后) 画图表之前,要对数据做一轮批量处理
  6. Blah blah

2.Numpy安装【Windows】

  1. win + r 进入控制面板,输入cmd,回车进入终端
    在这里插入图片描述
    在这里插入图片描述

  2. 用pip安装
    在终端输入:pip install numpy回车即可进行安装
    如果是Python3.x版本,用pip3 install numpy进行安装

    检查是否安装成功:
    ①在终端输入python进入python环境
    ②输入import numpy,没有错误提示,则表示安装成功。
    在这里插入图片描述

3. Numpy array

Numpy array的一大优势就是速度快!

import numpy as np
arrayName = np.array([1,2,3]) #numpy的array和list的查询、更新、删除是相同的,#不同的是array存储的数据是相同类型的,按照顺序存储在内存里,操作array的速度更快  
print(arrayName, type(arrayName)) 
print("arrayName[1]=",arrayName[1])
arrayName[1] = 99  #通过下标修改
print("after modified, arrayName[1]=",arrayName[1])

运行结果:
在这里插入图片描述

4.数据维度

  1. 创建数据
    np.array()
    array.ndim:返回数据维度
  2. 添加数据
    np.concatenate()
    np.expand_dims()
  3. 合并数据
    np.concatenate()
    np.vstack() #用于二维数据
    np.hstack()
  4. 观察形态
    array.size array.shape

5.数据选取

  1. 单个选取
    array[1]
    array[1,2,3]
    array[1][1]
    array[[1,2]]
  2. 切片划分
    array[:3]
    array[2:4, 1:3]
  3. 条件筛选
    array[array<0]
    np.where(array, array < 0)
import numpy as np
b = np.array([
[1,2,3,4],
[5,6,7,8],
[9,10,11,12],
[13,14,14,15]])print("b[2]=", b[2]) #查看第二行所有数据(从0列开始)
print("b[2,1]=", b[2,1])#查看第二行第一列的值
#切片,格式:(起始坐标:结束坐标:间隔)左闭右开
print("b[0:4:2]=", b[0:4:2])  #第0行、2行
print("b[0:4:2, 0:2:1]=",b[0:4:2, 0:2:1] ) #第0行、2行,第0列、第2列,逗号表示行列的分隔符#条件筛选array[ condition,]
# np.where(condition,x,y)当满足condition,将此处的值更改为x,否则改为y
condition = b > 6
print("condition =", condition)
print("b[condition]=", b[condition])
print("np.[condition,1]=", np.where(condition,1,b)) #满足条件的替换为1,不满足条件的不替换

运行结果:
在这里插入图片描述

6运算

加减乘除
±*/
np.dot()
数据统计分析
np.max() np.min() np.sum() np.prod() np.count()
np.std() np.mean() np.median()
特殊运算符号
np.argmax() np.argmin()
np.ceil() np.floor() np.clip()

import numpy as np
arrayA = np.array([122.2,156.3,723.1])
arrayB = np.array([12,16,1])#加减乘除操作是直接对array的值进行操作,用列表的名字就可以操作
print("+",arrayA + 0.1)
print("-",arrayA - 0.1)
print("*",arrayA * 0.1)
print("/",arrayA / 0.1)#点乘积
print("dot",arrayA.dot(arrayB))
print(arrayB)#最值、求和
print("max", arrayA.max())
print("min", arrayA.min())
print("max_index", arrayA.argmax())
print("min_index", arrayA.argmin())print("sum", arrayA.sum())
#大小
print("size", arrayA.size)
#平均值
print("mean",arrayA.mean())
#标准差
print("std", arrayA.std())
#上下限截取,低于下限的按照下限处理
print("arrayA.clip(100,200)", arrayA.clip(100,200))

运行结果:
在这里插入图片描述

7 改变数据形态

  1. 改变形态
    array[np.newaxis, :]
    array.reshape()
    array.ravel(), array.flatten()
    array.transpose()
  2. 合并
    np.column_stack(), np.row_stack()
    np.vstack(), np.hstack(), np.stack()
    np.concatenate()
  3. 拆解
    np.vsplit(), np.hsplit(), np.split()
import numpy as np
arrayA = np.array([1,2,3,4,5,6,7,8]).reshape([2,4])#增加维度,np.expand_dims(array,axis ),
#原来的维度(2,4),扩展后:
# axis=0 ———>(1,2,4)
# axis=1 ———>(2,1,4)
# axis=2 ———>(2,4,1)
print(np.expand_dims(arrayA,axis =2).shape) #打印(2,4,1)
print(arrayA.shape)
#reshape
print(arrayA.reshape([2,1,4]))  #[层数、行数,列数]
#转置
print(arrayA.shape)
print(arrayA.transpose().shape)
#分割,np.split(array, indices_or_sections, axis)
#indices_or_sections等于整数时,表示均分,是数组时,表示按照print(np.split(arrayA, indices_or_sections =4 , axis=1))  #分割和维数拓展都是np下的函数
print(np.split(arrayA, indices_or_sections =[1,3] , axis=1))  #在 第一列右边、第三列右边切割 

运行结果:
在这里插入图片描述


http://chatgpt.dhexx.cn/article/B2JqnoMX.shtml

相关文章

pythonnumpy官网_Numpy安装

问题引入&#xff1a;电脑里安装了从官网下载的python3.8.0,。先使用了菜鸟教程的方法2安装。https://www.runoob.com/numpy/numpy-install.html 发现产生错误。先是提示我的pip工具没有更新到最新版本&#xff0c;于是根据提示更新后&#xff0c;发现仍有错误&#xff0c;于是…

numpy的安装

安装 1.以管理员身份打开cmd 2.输入命令安装numpy插件 pip insatll numpy 3.使用以下命令查看是否安装成功 pip list 出现numpy就安装成功

如何在matlab坐标轴上输入希腊字符和开根号符号

1.以输入\mu为例&#xff0c;要将解释器选择为 tex&#xff0c;不过matlab默认的就是tex. xlabel(\mum,FontName,Arial,fontsize,24,Interpreter,tex); 效果如下图所示&#xff1a; 2.输入开根号&#xff0c;需要把解释器改为latex. clear,clc ylabel($Z_{0} \sqrt {\epsilo…

matlab之方程式求根

一.利用syms和solve() 利用syms和sym定义一个标志变量 syms x sym(‘x’) 2.求方程根&#xff1a; 求x-2y5与xy6的联立方程组的根&#xff1a; 3.对函数求微分 4.对函数求积分 5. fsolve()

利用MATLAB对于符号方程进行求解

在数学计算中&#xff0c;我们经常需要对于方程或者是方程组进行求解&#xff0c;对方程的求解是数学中的一个重要的知识点。在MATLAB中提供了solve函数用于对于符号表达式的求解。solve函数有多种调用方式&#xff0c;包括如下所示&#xff1a; solve(equ)&#xff1a;对于等…

利用matlab进行多项式求根——符号解

问题描述&#xff1a;对于一个方程&#xff0c;比如&#xff1a; a x 2 b x c 0 ax^2bxc0 ax2bxc0&#xff0c;我们想要求出关于x的表达式&#xff08;求根&#xff09;。 如果a&#xff0c;b&#xff0c;c是已知的&#xff0c;或者说是某个确定的数值&#xff0c;那么我们…

MATLAB(十)方程式求根

文章目录 前言符号寻根法符号根查找&#xff1a;solve ()解决多个方程用符号表示的方程Exercise练习符号区分&#xff1a;diff ()Exercise练习象征性的集成&#xff1a;int()Exercise练习回顾函数句柄()fsolve()Exercise练习fzero()求多项式的根&#xff1a;roots()二分法(或分…

matlab根号二,matlab根号二怎么打_常见问题解析,matlab,根号二,根号

matlab级数求和的方法_常见问题解析 matlab级数求和使用symsum函数&#xff0c;有4种方式&#xff0c;分别为symsum(expr)、symsum(expr,v)、symsum(expr,a,b)和symsum(f,v,a,b)。 matlab根号二怎么打 matlab中根号使用^来表示&#xff0c;根号二的表示方法为&#xff1a;2^0.5…

matlab 坐标轴根号,Matlab中根号表示怎么操作?根号表示教程分享

最近很多网友表示自己不清楚Matlab中根号表示的操作&#xff0c;而本篇文章就来给大家讲解Matlab中根号表示的教程介绍&#xff0c;大家都来一起学习吧。 Matlab中根号表示的教程介绍 常数根号的表示方法 1、打开matlab&#xff0c;在命令行窗口中输入“9^0.5”&#xff0c;按回…

matlab中根号的表示方法,Matlab中根号表示方法分享

现在许多朋友都已经安装使用Matlab这款软件&#xff0c;但不少伙伴使用过程里还不会根号表示方法&#xff0c;那么究竟是如何操作的呢&#xff1f;今日就来下文看看Matlab中根号表示教程吧。 常数根号的表示方法 1、打开matlab&#xff0c;在命令行窗口中输入9^0.5&#xff0c;…

记Git报错-refusing to merge unrelated histories

环境 系统&#xff1a;win10 git version 2.9.0.windows.1 创建一个新的分支&#xff0c;很久没用了。要重新启用&#xff0c;拉取最新分支的代码&#xff0c;结果报错&#xff1a;refusing to merge unrelated histories fatal: refusing to merge unrelated histories 解…

git: refusing to delete the current branch

最近&#xff0c;不知怎么操作&#xff0c;导致远程test分支无法删除。 原因是&#xff0c;远程仓库里的当前分支是test。进入远程仓库目录&#xff0c;git branch。由于已经解决&#xff0c;所以没有图。在网上找相关资料&#xff0c;都是github里面的操作。但是这个是自己搭建…

fatal: refusing to merge unrelated histories解决

背景&#xff1a;由于公司进行了仓库迁移&#xff0c;同事直接把代码init推进了新的仓库地址&#xff0c;我想在本地代码上切换远程仓库地址进行拉取远端代码时出现报错“fatal: refusing to merge unrelated histories”&#xff0c;大概意思是&#xff1a;“拒绝合并不相关的…

解决Git报错: fatal: refusing to merge unrelated histories

如果合并了两个不同的开始提交的仓库&#xff0c;在新的 git 会发现这两个仓库可能不是同一个&#xff0c;为了防止开发者上传错误&#xff0c;于是就给下面的提示 git无法pull仓库refusing to merge unrelated histories &#xff08;拒绝合并不相关仓库&#xff09; 遇到上问…

解决Git refusing to merge unrelated histories

背景&#xff1a;在本地初始化了一个Git代码仓库&#xff0c;关联到Github上新建的仓库&#xff0c;第一次执行git pull origin master 拉取远程分支时&#xff0c;出现标题上的问题&#xff08;Git 2.9之后的版本才会出现此问题&#xff09;。 refusing to merge unrelated hi…

git pull 无法下载合并 报错:refusing to merge unrelated histories

场景 我本地的代码和线上的代码&#xff0c;需要合并一下&#xff0c;因为线上的代码有修改的地方&#xff0c;我本地的代码也有修改的地方&#xff0c;直接覆盖会有问题&#xff0c;于是想到了用git(平时不用&#xff0c;直接ftp拉上去直接覆盖的)&#xff0c;把修改过的文件…

git提交 出现 : fatal: refusing to merge unrelated histories

项目场景&#xff1a; 场景&#xff1a;本地文件在变更之后 无法提交到远程仓库并报错 fatal: refusing to merge unrelated histories 我最近因为同一个本地文件做了不同的修改&#xff0c;要提交到不同的仓库会经常提示此问题 原因分析&#xff1a; 问题的分析&#xff1a;…

git pull 提示错误 fatal: refusing to merge unrelated histories

从远程拉项目到本地的时候提示错误 造成 fatal: refusing to merge unrelated histories错误的原因有以下几点&#xff1a; 有一个包含一些提交的新 Git 存储库。然后&#xff0c;您尝试从现有的远程仓库中提取。合并变得不兼容&#xff0c;因为分支和远程拉取的历史不同。当…

git初始化错误fatal: refusing to merge unrelated histories

发生原因: git服务上创建了git远程仓库,并且创建README.md文件 本地初始化项目 关联远程仓库:git remote add origin “远程仓库地址” 可以:git remote -v 查看是否关联 再 git init git add README.md git commit -m “first commit” 现在将本地仓库push远程,但是远程有re…