【Python】numpy学习笔记

python编程训练网站,python做项目的网站 刚入门Python,想了解自己掌握的情况,或者想更有效地吸收知识,找些题做一做是个非常高效的方法。基于以上原因,小编找了10个适合新手练习Python的做题网站,在此分享一下,希望对正在学习的你有所帮助。① Python所有方向的学习路线图,清楚各个方向要学什么东西② 600多节Python课程视频,涵盖必备基础、爬虫和数据分析③ 100多个Python实战案例,含50个超大型项目详解,学习不再是只会理论④ 20款主流手游迫解 爬虫手游逆行迫解教程包。 阅读详情

reshape

import numpy as np
#生成8行4列的元素
arr=np.arange(12).reshape((2,6))
print(arr)
输出:
[[ 0  1  2  3  4  5]
 [ 6  7  8  9 10 11]]
arr=np.arange(24).reshape((2,3,4))
print(arr)
输出:
“”“
[[[ 0  1  2  3]
  [ 4  5  6  7]
  [ 8  9 10 11]]

 [[12 13 14 15]
  [16 17 18 19]
  [20 21 22 23]]]
”“”

对二维数组选取行和列

import numpy as np
arr=np.arange(32).reshape((8,4))
print(arr)
print(arr[[1,5,7,2]][:,[0,3,1,2]])
"""
4  7  5  6
20 23 21 22
28 31 29 30
8  11 9  10
"""

数组转置和轴兑换

转置就是重塑数组的一种特殊形式
使用array.transpose或者 array.T都能达到相同的效果
轴与轴之间的数据转换

import numpy as np
arr=np.random.randn(4,4)
print(arr)
arr_1=np.where(arr>0,2,-2)
print(arr_1)
arr_2=np.where(arr>0,2,arr)
print(arr_2)

条件逻辑转数组

np.where等同于x if condition else y矢量化的一个版本
np.where用于根据一个数组产生一个新的数组

import numpy as np
arr=np.random.randn(4,4)
arr_1=np.where(arr>0,2,-2)
print(arr_1)
arr_2=np.where(arr>0,2,arr)
print(arr_2)
输出:
[[ 0.43381604  0.32422037 -1.47085834  0.7658069 ]
 [ 0.87574729 -1.06108865  1.02846833  0.54714308]
 [-0.01142063 -1.07268708 -0.80541467 -0.56147169]
 [-0.16371619  0.53085074 -0.63674942 -0.40037197]]
[[ 2  2 -2  2]
 [ 2 -2  2  2]
 [-2 -2 -2 -2]
 [-2  2 -2 -2]]
[[ 2.          2.         -1.47085834  2.        ]
 [ 2.         -1.06108865  2.          2.        ]
 [-0.01142063 -1.07268708 -0.80541467 -0.56147169]
 [-0.16371619  2.         -0.63674942 -0.40037197]]
import numpy as np
x_arr=[1,2,3]
y_arr=[0.1,0.2,0.3]
condition=np.array([True,False,True])
rs=[x if c else y for x,y,c in zip(x_arr,y_arr,condition)]
print(rs)

r=np.where(condition,x_arr,y_arr)
print(r)

数学运算

import numpy as np
arr=np.random.randn(4,4)
print(arr)
print(arr.mean())#数组中所有值的平均值
print(np.mean(arr))#另一种写法
print(arr.sum())#求和
print(arr.std())
###参数 axis表示在一个指定的轴上进行运算
print(arr.mean(axis=1))#计算轴1上的平均值
print(arr.sum(axis=0))#计算轴0上的和

排序

import numpy as np
arr=np.random.randn(4)
print(arr)
arr.sort()
print(arr)

多维数组的排序

import numpy as np
arr=np.random.randn(4,4)
print(arr)
arr.sort(1)
#传递轴号,按轴来进行排序
# 1 表示按行排序 默认轴号等于1 即按行进行排序
print(arr)

numpy的文件操作

"""
numpy可以读写磁盘上的文本数据或者是二进制数据
主要应用的函数就是np.save和np.load,
默认情况下数据是以未压缩的原始二进制格式保存在扩展名为.npy的文件中;
"""
import numpy as np
# arr=np.arange(10)
# print(arr)
# np.save("any_array_file_name",arr)
arr=np.load("any_array_file_name.npy")
print(arr)

保存成压缩文件

import numpy as np
arr=np.arange(10)
np.savez('any_arr',a=arr)
#保存成一个压缩文件,数组以关键字参数的形式传入
rs=np.load('any_arr.npz')['a']
print(rs)

保存成txt文件

import numpy as np
arr=np.arange(10)
np.savetxt("array",arr,delimiter=",")# 这就是保存了一个文本文件,分隔符指定为,号
rs=np.loadtxt("array",delimiter=",")
print(rs)

线性代数

import numpy as np
#线性代数
"""
dot 矩阵的乘法运算
trace 计算对角线元素的和
det 计算矩阵的行列式
eig 计算方阵的本征值和本征向量
inv 计算方阵的逆
"""
x=np.array([[1,2,3],[4,5,6]])# dim-2*3
y=np.array(([[1,2],[3,4],[5,6]]))# dim-3*2
rs=x.dot(y)
print(rs)
print(x.trace())
print(y.trace())

demo:随机漫步

import numpy as np
import matplotlib.pyplot as plt
# 随机漫步
position=0
walk=[position]
steps=1000
for i in range(steps):
    step= 1 if np.random.randint(0,2) else -1
    position+=step
    walk.append(position)
plt.plot(walk)
python numpy学习笔记 numpy的主要数据对象是多维数组,其中包含相同类型的元素,通常是数字类型,每个元素都有一个索引。使用numpy前通常要导入包。 import numpy as np 目录类型维度创建运算索引和切片 类型 numpy的数组被称为ndarray。numpy.array只处理一维数组,而ndarray对象才提供更多功能。 a = np.array([[1, 2, 3], [4, 5, 6]]) type(a) # <class 'numpy.ndarray'> dtype属性可以获得元素的数 阅读详情

相关推荐

Python NumPy 的学习笔记

Python NumPy 的学习笔记

engchina的专栏 1864

零基础学python,这几个刷题网站,轻松变程序员大咾

新手学python,这几个刷题网站,轻松变程序员大咾

隔壁王叔的博客 2148

Python学习笔记:初探NumPy世界

文章目录一、NumPy概述二、多维数组对象三、创建NumPy多维数组1、利用array()函数创建NumPy数组2、创建NumPy数组的其它函数(1)利用zeros函数创建元素全为0的数组(2)利用ones函数创建元素全为1的数组(3)利用empty函数创建数组(4)arange函数是Python内置函数range的数组值版本3、创建数组函数表4、数组元素的数据类型四、NumPy数组的运算1、数组与数组的算术运算2、数组与标量的算术运算3、数组与数组的关系运算4、数组与标量的关系运算5、广播概述五、基本索引

howard2005的专栏 1117

Python新手太需要了,这5个做题练习网站爱了!

Python新手太需要了,这5个做题练习网站爱了!

分享Python知识 2783

CloudCompare如何进行二次开发?

CloudCompare源代码编译成功后,即可进行二次开发,可以通过修改源码或者制作插件实现二次开发。本文二次开发采用修改CloudCompare的源代码的方式,分别修改mainwindow.ui、mainwindow.h、mainwindow.cpp,实现扩展功能,克隆选中的点云。

【cacrle】的博客 5332

手把手实战:RK3588上YOLOv8模型从训练到部署全流程解析

本文详细解析了在RK3588开发板上部署YOLOv8目标检测模型的全流程。从模型训练、正确导出适配的ONNX格式,到使用RKNN-Toolkit2进行模型转换与量化,最后在板卡上完成部署与性能测试。文章提供了完整的代码示例和关键避坑指南,帮助开发者高效实现嵌入式AI应用落地。

weixin_28224217的博客 407

学习Python的10大刷题网站,寓教于乐适合自学,新手入门必备!(文末有彩蛋)

学习Python的10大刷题网站,寓教于乐适合自学,新手入门必备!(文末有彩蛋)

python03012的博客 2万+

基于JAVA的GB28181实现之SIP服务核心组件解析

本文深入解析了基于JAVA的GB28181标准中SIP服务的核心组件实现,包括协议栈选择、消息处理引擎、事务管理器等关键技术点。通过实战案例分享海康威视、大华设备的特殊处理技巧,并提供性能优化和常见问题排查指南,帮助开发者高效构建稳定的视频监控系统。

weixin_30892037的博客 264

利用Numpy读取和操作文件的详解

利用Numpy读取和操作文件的详解: loadtxt (fname,dtypecomments='#',delimiter=None,converters=None,skiprows=0,usecols=None,unpack=False,ndmin=0, encoding='bytes')

qq_46044325的博客 4302

试读源码在这里下载

试读文章的源码在这里下载。源码不做任何修改,重点重点重点:为了代码运行不报错,安装matlab 版本为 2021 及以上版本。matlab安装教程大家可以参考这个教程:手把手教你安装matlab软件。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 4310

华为od 面试八股文_前端_02_含答案

华为od 面试八股文_前端_02_含答案

MISAYAONE的博客 1999

Python学习笔记 | Numpy库全部

Python学习笔记|turtle库画图案例简述涉及知识点python代码总结 案例简述 画出不同size的五角星 涉及知识点 turtle库 python代码 import turtle def draw_pentagram(size): """ 绘制五角星 """ count = 1 while count <= 5: turtl...

weixin_44878159的博客 791

使用静态库在嵌入式系统中进行开发

静态库是一种包含预编译对象代码的文件,它可以与应用程序链接在一起,并在编译时将库的代码复制到最终的可执行文件中。静态库是包含预编译对象代码的文件,可以与应用程序链接在一起,并在编译时将库的代码复制到最终的可执行文件中。需要注意的是,由于嵌入式系统的资源限制,开发人员应该仔细选择需要包含在静态库中的功能,并避免引入不必要的依赖关系。需要注意的是,由于嵌入式系统的资源限制,开发人员应该仔细选择需要包含在静态库中的功能,并避免引入不必要的依赖关系。的静态库文件,可以在嵌入式系统的应用程序中使用它了。

ZrElixir的博客 206

Python学习笔记合集(Numpy总结)

Python学习笔记Numpy合集(总结)零基础学Numpy,就来这里看Numpy学习笔记,简单易懂!

qq_54129105的博客 4224

lammps 案例in文件汇总

进阶案例: 聚乙烯和石墨烯界面pull out模拟代码 反应力场reax/c设置方法及案例解析 石墨烯热导率模拟代码(NEMD方法) 圆锥形SiC纳米磨削单晶硅源代码 高熵合金FeNiCrCoCu纳米压痕模拟代码 fix indent命令实现纳米摩擦及摩擦力计算 Fe原子辐照轰击多层石墨烯模拟代码 铝基石墨烯复合物压缩变形in文件源代码 石墨烯自动卷曲到Fe纳米线模拟源代码 铝/石墨烯复合物结晶过程lammps模

lammps_jiayou的博客 9447

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

python第三方库numpy学习笔记

​numpy是一款功能强大的Python库,专注于科学计算和数据处理。它底层使用C语言实现,按照类型存储数据,因此比Python列表更高效。numpy提供了简洁易读的语法和强大的函数库,用于操作数组、矩阵乘法、傅里叶变换等等。此外,numpy也提供了大量的线性代数和随机数生成函数,方便进行向量和矩阵运算,同时也可以生成服从不同分布的随机数。总之,numpy在科学计算和数据处理中是一个非常重要的工具,为用户提供了高效的数据存储方式和快捷的数据处理方法。

qy85329140的博客 339

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Python 商务数据分析—— NumPy 学习笔记Ⅱ

本文系统介绍了NumPy数组的核心操作技术,主要包含六大模块内容:1)数组索引与切片(四种索引方式及示例);2)元素操作(替换与条件处理);3)广播机制(原则与兼容性判断);4)形状操作(叠加/切割/转置);5)Axis轴概念解析(本质与运算示例);6)销售数据综合实战(三维数据聚合计算)。全文通过代码示例详细演示了每种操作的具体实现,重点解析了广播规则、轴方向运算等难点,最后通过销售数据案例展示了多维数组的实际应用。掌握这些核心操作可有效提升数组数据处理效率。

2302_79239614的博客 627

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Python高级学习笔记-day01-Numpy库

初学小小白,个人笔记使用,仅供参考

XZSSWJS的博客 881

python之numpy学习笔记

PYTHON numpy通用计算函数 通用函数,就是能同时对元素内所有元素逐个进行运算的函数,例如[1,2,3,4]4,可以每个元素都4; 虽然用for循环也可以做到同样的效果,使用numpy则会更快; numpy,scipy.special; 符号:+、-、-、*、/、//、**、%、absolute(abs)均为通用计算符号,三角函数(sin, cos, tan)与反三角函数也可(arcsi...

coolljp21的博客 347

【学习笔记】python数据分析-Numpy

ndarray多维数组 通常来说,ndarry是一个通用的同构数据容器(即其中的所有元素都需要是相同的类型)。创建好一个ndarray数组时,同时会在内存中存储ndarray的shape和dtype。shape是ndarray维度大小的元组,dtype是解释说明ndarray数据类型的对象。 创建一个 ndarray 只需调用 NumPy 的 array 函数即可: import numpy as np data1= [[5, 2, 3, 4, 9], [5, 7, 9, 20, 18]] arr1= n

qq_39951637的博客 770

Python中NumPy模块(Python for Data Analysis学习笔记)

文章目录numpy-数组numpy-矩阵 numpy-数组 numpy中的array运算更快 import numpy as np my_arr = np.arange(1000000) my_list = list(range(1000000)) #%time是ipython的特殊功能 %time for _ in range(10): my_arr2 = my_arr * 2 %time...

Grace_lili博客 524

python学习笔记之Numpy

此文为笔者学习过程中对Numpy的笔记,其中主要为笔者对Numpy新鲜知识点的记录。注意此文不适合初学者,仅作为笔者日后查漏补缺使用,初学者还是找些系统介绍文章来学习。

何小智的博客 217

python学习笔记之numpy库的使用——超详细

文章目录NumPy介绍一.如何创建1.导入Numpy库,并命名为np:2.查看版本3.通过列表创建一维数组:4.通过列表创建二维数组:5.创建全为0的二维数组6.创建全为1的三维数组7.创建一维等差数组8. 创建二维等差数组:9. 创建单位矩阵(二维数组):10. 创建二维随机数组:11.创建二维随机整数数组(数值小于 5):二.数组运算12.一维数组加法运算:13.一维数组减法运算:14. 一维数组乘法运算:15.一维数组除法运算:16.二维数组的运算,相应位置上进行+-*/17 矩阵乘法运算(注意与上题

逐梦er的博客 8万+

Python学习笔记——NumPy

①概念向量数据是指存储一系列同类数据的有序数据结构。②分类python中的列表和元组可以用来存储向量数据。分为 一维列表,二维列表,三(多)维列表。③向量数据结构的理解。

小橙子的博客 614

Python基础与数据分析三大件:Numpy、Pandas、Matplotlib 学习笔记

Python基础与数据分析三大件:Numpy、Pandas、Matplotlib 学习笔记 去发现同类优质开源项目:https://gitcode.com/ 简介 本资源文件包含了我在学习Python基础以及数据分析三大件(Numpy、Pandas、Matplotlib)过程中的笔记。这些笔记旨在帮助有一定编程基础的同学更好地理解和掌握这些工具。 内容概述 Python基础:涵盖了Python语...

gitblog_06628的博客 266
上一篇: 【Python-BUG】module ‘matplotlib‘ has no attribute ‘plot‘
下一篇: 【Python-BUG】ImportError: Missing optional dependency ‘xlrd‘. Install xlrd >= 1.0.0 for E
菜菜2022
博客等级 码龄9年 67粉丝 1033原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值