python的第三方包Numpy简介(1)

python学习笔记1——文件存储与读取 python学习笔记1anaconda的文件存储位置二进制数据存储多个数组存储二进制文件读取文本格式数据的存储与读取 anaconda的文件存储位置 使用numpy.save()函数时,其默认的本地地址如下(其实我也不太懂,两个文件里面都有文件) Spyder的py文件默认存在了.spyder-py3里面,但是使用numpy.save()函数时,其默认地址位置在用户名文件夹下。 Spyder ... 阅读详情

一、关于Numpy

1.Numpy

Numpy是Python用于科学计算的基础包,也是大量Python数学和科学计算包的基础,不少数据处理及分析包都是在Numpy基础上开发的,比如后面介绍的pandas包就是在其基础上开发的。

Numpy的核心基础是ndarray(N-dimensional array,N维数组),即由数据类型相同的元素组成的N维数组。

2.利用

可利用Numpy包提供的数组定义函数array()将数据转化为数组的形式。

3.Numpy包的导入

在Anaconda发行版中,Numpy包已集成在系统中,无需另外安装。那么如何使用该包呢?下面介绍如何在Python脚本文件中导入该包并使用。首先在打开的Spyder界面中新建一个脚本文件,如图2-1所示。

图2-1中新建了一个Python脚本文件,名称为test.py,并且处于编辑状态(文件名后面带“*”)。使用:import numpy命令,即可将该包导入到脚本文件中并可以使用了。

利用Numpy包提供的数组定义函数array(),将嵌套列表L=[[1,2],[3,4]]转化为二维数组。在test.py脚本文件中,输入以下示例代码: L=[[1,2],[3,4]]      #定义待转化的嵌套列表L import numpy     #导入Numpy包 A=numpy.array(L)  #调用Numpy包中提供的函数array(),将L转化为二维数组并赋给A 执行test.py脚本文件,通过Spyder变量资源管理器双击变量A,即可查看其执行结果。如图2-2所示。 

二、Numpy一些与数组相关的函数的使用方法

 1.array()函数创建数组

基于array()函数,可以将列表、元组、嵌套列表、嵌套元组等给定的数据结构转化为数组,值得注意的是利用array函数之前,事先要导入Numpy

示例代码如下:

#1.先预定义列表d1,元组d2,嵌套列表d3、d4和嵌套元组d5
d1=[1,2,3,4,0.1,7]         #列表
d2=(1,2,3,4,2.3)           #元组
d3=[[1,2,3,4],[5,6,7,8]]     #嵌套列表,元素为列表
d4=[(1,2,3,4),(5,6,7,8)]     #嵌套列表,元素为元组
d5=((1,2,3,4),(5,6,7,8))     #嵌套元组
#2.导入Numpy,并调用其中的array函数,创建数组
import numpy as np
d11=np.array(d1)
d21=np.array(d2)
d31=np.array(d3)
d41=np.array(d4)
d51=np.array(d5)
#3. 删除d1,d2,d3,d4,d5变量
del d1,d2,d3,d4,d5 

2.内置函数创建数组

利用内置函数,可以创建一些特殊的数组,比如可以利用ones(n,m)函数创建n行m列元素全为1的数组、利用zeros(n,m)函数创建n行m列元素全为0的数组,利用arange(a,b,c)创建以a为初始值,b-1为末值,c为步长的一维数组。其中a和c参数可省,这时a取默认值为0,c取默认值为1。

 示例代码如下:

z1=np.ones((3,3))    #创建3行3列元素全为1的数组
z2=np.zeros((3,4))    #创建3行4列元素全为0的数组
z3=np.arange(10)    #创建默认初始值为0,默认步长为1,末值为9的一维数组
z4= np.arange(2,10)  #创建默认初始值为2,默认步长为1,末值为9的一维数组
z5= np.arange(2,10,2)  #创建默认初始值为2,步长为2,末值为9的一维数组

3.数组的尺寸

数组尺寸,也称为数组的大小,通过行数和列数来表现。通过数组中的shape属性,可以返回数组的尺寸,其返回值为元组。如果是一维数组,返回的元组中仅一个元素,代表这个数组的长度。如果是二维数组,元组中有两个值,第一个值代表数组的行数,第二个值代表数组的列数。

示例代码如下:

d1=[1,2,3,4,0.1,7]         #列表
d3=[[1,2,3,4],[5,6,7,8]]     #嵌套列表,元素为列表
import numpy as np
d11=np.array(d1)   #将d1列表转换为一维数组,结果赋值给变量d11
d31=np.array(d3)   #将d3嵌套列表转换为二维数组,结果赋值给变量d31
del d1,d3         #删除d1,d3
s11=d11.shape    #返回一维数组d11的尺寸,结果赋值给变量s11
s31=d31.shape    #返回二维数组d31的尺寸,结果赋值给变量s31

4.数组重排——reshape()

在程序应用过程中,有时候需要将数组进行重排,可以通过reshape()函数来实现。

示例代码如下:

 r=np.array(range(9))  #一维数组 r1=r.reshape((3,3))   #重排为3行3列

5.数组的运算——加、减、点乘、乘、除、乘方

数组的运算主要包括数组之间的加、减、乘、除运算,数组的乘方运算,以及数组的数学函数运算。

示例代码如下:

import numpy as np
A=np.array([[1,2],[3,4]])     #定义二维数组A
B=np.array([[5,6],[7,8]])     #定义二维数组B
C1=A-B                  #A、B两个数组元素之间相减,结果赋给变量C1
C2=A+B                 #A、B两个数组元素之间相加,结果赋给变量C2
C3=A*B                 #A、B两个数组元素之间相乘,结果赋给变量C3
C4=A/B                 #A、B两个数组元素之间相除,结果赋给变量C4
C5=A/3                 #A数组所有元素除以3,结果赋给变量C5
C6=1/A                 #1除以A数组所有元素,结果赋给变量C6
C7=A**2                # A数组所有元素取平方,结果赋给变量C7
C8=np.array([1,2,3,3.1,4.5,6,7,8,9])    #定义数组C8
C9=(C8-min(C8))/(max(C8)-min(C8))    #C8中的元素做极差化处理,结果赋给变量C9
D=np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]])  #定义数组D
#数学运算
E1=np.sqrt(D)                #数组D中所有元素取平方根,结果赋给变量E1
E2=np.abs([1,-2,-100])         #取绝对值
E3=np.cos([1,2,3])            #取cos值
E4=np.sin(D)                #取sin值
E5=np.exp(D)               #取指数函数值

6.数组的切片

一般地,假设D为待访问或切片的数据变量,则访问或者切片的数据=D[①,②]。其中①为对D的行下标控制,②为对D的列下标控制,行和列下标控制通过整数列表来实现,但是需要注意①整数列表中的元素不能超出D中的最大行数,而②不能超过D中的最大列数。为了更灵活地操作数据,取所有的行或者列,可以用“:”来代替实现。同时,行控制还可以通过逻辑列表来实现。

示例代码如下:
import numpy as np
D=np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]])  #定义数组D
#访问D中行为1,列为2的数据,注意下标是从0开始的。
D12=D[1,2]
#访问D中第1、3列数据
D1=D[:,[1,3]]
# 访问D中第1、3行数据
D2=D[[1,3],:]
# 取D中满足第0列大于5的所有列数据,本质上行控制为逻辑列表
Dt1=D[D[:,0]>5,:]
#取D中满足第0列大于5的2、3列数据,本质上行控制为逻辑列表
#Dt2=D[D[:,0]>5,[2,3]]
TF=[True,False,False,True]
#取D中第0、3行的所有列数据,本质上行控制为逻辑列表,取逻辑值为真的行
Dt3=D[TF,:]
#取D中第0、3行的2、3列数据
#Dt4=D[TF,[2,3]]
# 取D中大于4的所有元素
D5=D[D>4]

数组的切片,也可以通过ix_()函数构造行、列下标索引器,实现数组的切片操作

代码如下:
import numpy as np
D=np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]])  #定义数组D
#提取D中行数为1、2,列数为1、3的所有元素
D3=D[np.ix_([1,2],[1,3])]
#提取D中行数为0、1,列数为1、3的所有元素,其中行数
D4=D[np.ix_(np.arange(2),[1,3])]
#提前以D中第1列小于11得到的逻辑数组作为行索引,列数为1、2的所有元素
D6=D[np.ix_(D[:,1]<11,[1,2])]
#提前以D中第1列小于11得到的逻辑数组作为行索引,列数为2的所有元素
D7=D[np.ix_(D[:,1]<11,[2])]
#提前以2.5.1中的TF=[True,False,False,True]逻辑列表为行索引,列数为2的所有元素
TF=[True,False,False,True]
D8=D[np.ix_(TF,[2])]
#提前以2.5.1中的TF=[True,False,False,True]逻辑列表为行索引,列数为1,,3的所有元素
D9=D[np.ix_(TF,[1,3])]

7.数组的链接

在数据处理中,多个数据源的集成整合是经常发生的。对于数组间的集成与整合,主要体现在数组间的连接,包括水平连接和垂直连接两种方式。水平连接函数用hstack()、垂直连接函数用vstack()实现。注意输入参数为两个待连接数组组成的元组。

示例代码如下:

import numpy as np
A=np.array([[1,2],[3,4]])     #定义二维数组A
B=np.array([[5,6],[7,8]])     #定义二维数组B
C_s=np.hstack((A,B))        #水平连接要求行数相同
C_v=np.vstack((A,B))        #垂直连接要求列数相同

8.数组的存取——save函数、load函数

利用Numpy库中的save函数,可以将数据集保存为二进制数据文件,数据文件后缀名为.npy。

示例代码如下:

import numpy as np
A=np.array([[1,2],[3,4]])     #定义二维数组A
B=np.array([[5,6],[7,8]])     #定义二维数组B
C_s=np.hstack((A,B))        #水平连接
np.save('data',C_s)

 通过load函数,可以将该数据集加载

例代码如下:

import numpy as np 
C_s=np.load(‘data.npy’)

  

 其显示了将data.npy这个数据文件加载下来,并通过Spyder变量资源管理器查看其结果的过程。通过数据的存取机制,提供了数据传递及使用的便利,特别是有些程序运行结果需要花费大量时间的时候,保存其结果以便后续使用是非常有必要的。

Numpy、Pandas学习 表示数组的维度数(轴的数量) 阅读详情

相关推荐

Python常用应用专题:NumPy全面指南

强大的N维数组对象复杂的广播功能集成C/C++和Fortran代码的工具线性代数、傅里叶变换和随机数功能为什么选择NumPy而不是原生Python列表?特性Python列表NumPy数组存储效率低高执行速度慢快(向量化操作)功能丰富度基本丰富(数学运算等)内存使用高低多维数据支持有限完善NumPyPython科学计算的基石,掌握NumPy是成为Python数据科学家的第一步。NumPy数组的创建和操作数学运算和统计函数广播机制和高级索引。

资深全栈架构师,乐于在 CSDN 分享技术见解,与大家携手共进,共攀技术巅峰! 1278

Python —— NumPy

NumPy最重要的一个特点是其N维数对象ndarry,它是用于存放同类型元素的多维数组,ndarry中的每个元素在内存中占有相同大小的区域。

DamianVanilla的博客 994

Python第三方的安装及其重要性

Python编程中,第三方的使用极大地丰富了Python的功能,提高了开发效率。本文将从Python第三方的安装方法、安装过程中的注意事项以及第三方Python编程中的重要性等方面进行详细讨论。除了pip之外,还有一些其他的管理工具也可以用来安装Python第三方,如conda(用于数据科学和机器学习项目的和环境管理器)、easy_install等。:Pandas、NumPy、Matplotlib等Python提供了强大的数据分析功能,使得Python成为了数据分析领域的重要工具。

2401_85777843的博客 1068

Numpy 详解

本文介绍了NumPy库的核心概念和基本操作。NumPy作为Python科学计算的基础库,其核心是ndarray(N维数组)对象,相比原生Python列表具有显著优势:内存块风格(连续存储、类型一致)、并行化运算和底层C语言实现带来的高效计算。文章详细讲解了ndarray的属性(形状、维度、类型等)、不同维度的数组表示方法,以及数据类型体系。最后介绍了数组的基本操作,括生成方法和索引切片机制。NumPy的这些特性使其成为机器学习和大规模数值计算不可或缺的工具。

weixin_51955414的博客 374

python介绍:numpy

1 ndarray 1.1 创建 np.array(object,dtype=…) 用object创建ndarray empty(shape,dtype=) 指定形状&类型,元素值均为随机值 zeros(shape,dtype=) 填充0 ones 填充1 ...

qq_40206371的博客 1566

Python【入门】numpy的简单应用

numpy

m0_66745569的博客 1199

PythonPython ( Python 第三方简介 | 安装第三方 | 命令行安装 | PyCharm 安装 | 设置代理 | 使用第三方开发 )

一、Python 第三方简介 二、安装第三方 1、使用 pip 命令安装第三方 2、指定第三方安装版本 3、设置代理 4、PyCharm 中安装第三方 三、使用第三方开发

让 学习 成为一种 习惯 ( 韩曙亮 の 技术博客 ) 5706

python pycharm安装第三方matplotlib、numpy失败,解决办法

python pycharm安装第三方matplotlib、numpy失败,解决办法

qq_22163371的博客 1万+

python安装numpy教程等其他相关

点击打开链接https://blog.csdn.net/u013355826/article/details/73692327python安装相关比如:安装numpy1、查看环境:安装的python3.6+64位的环境+windows系统2、打开地址    https://www.lfd.uci.edu/~gohlke/pythonlibs/找到numpy合适的版本cp36+win+amd64...

sinat_23619409的博客 5万+

VSCode安装python以及python第三方库----Numpy,pandas,matplotlib等等最全方法

最近在学习有关python第三方库的使用,到网上查找下载Numpy,pandas,matplotlib的方法,发现没有针对使用VSCode安装的简短系列教程,自己也是在网上找大佬的博客,然后反复调试,最后成功完成安装,写了几个相关代码也都可以运行。所以特此发布我总结其他大佬发布文章后的安装方法。

Extrella_的博客 7万+

Python量化炒股常用的Numpy

NumPy(Numerical Python)是 Python 中用于科学计算的基础库,提供了强大的多维数组对象和相关工具,以及用于处理这些数组的数学函数。以下是关于 NumPy 的概述:主要特点多维数组对象:NumPy 的核心是ndarray对象,它是一个具有相同类型、固定大小的数组,支持高效的数值运算。矢量化操作:NumPy 提供了广播功能,使得在整个数组上执行操作更加简单和快速,避免了使用循环。数学函数:NumPy 含了许多数学函数,如三角函数、指数函数、对数函数等,可以直接应用于数组。

Bruce_xiaowei的博客 2560

Python基础(二十三、导入第三方,自定义使用案例)

第三方就是非Python官方内置的,可以安装它们扩展功能,提高开发效率。创建一个自定义,名称为: myUtils (我的工具)内提供2个模块:strUtil.py (字符串相关工具)函数:strReverse(s),接受传入字符串,将字符串反转返回函数:substr(s,x,y),按照下标x和y,对字符串进行切片fileUtil.py (文件处理相关工具)

qq_35716085的博客 2万+

python安装第三方的命令,python如何安装第三方

Python 含了很多 Python 模块 , 每个 Python 模块对应一个 Python 源码 , 其中含了若干功能 ( 函数 );游戏开发 , 创建游戏界面 / 处理用户输入 / 播放声音;计算机视觉 和 图像处理 , 处理图像和视频 / 进行人脸识别 / 物体检测;机器学习 , 提供了各种 机器学习算法 和 数据预处理工具 , 可以用于分类 / 聚类 / 回归等任务;深度学习 和 人工智能 , 可以创建神经网络模型 / 优化器 / 激活函数等;NumPy

2401_84668032的博客 1128

pythonNumpy的安装及使用

*****安装 python (本文安装 python2.7) *****安装 pip (1)检查是否已安装pip 进入cmd命令窗口,输入  pip --version  ,查看是否已安装pip,说明已安装了pip 否则,说明未安装pip 需要进入(2)开始安装pip。  (2)安装pip  pip用来安装后续的,安装pip前需确认已安装Python和ea

hua_juan的博客 5万+

import numpy as np什么意思_一文会,教你如何熟练运用Python数值计算Numpy

对于使用Python的朋友来说,在平常的数值计算中有一个开源肯定会被用到,没错,它就是大名鼎鼎的 Numpy ,全称为 Numberical Python ,是Python的一种开源的数值计算扩展,大量的数学函数库集成在Numpy内部,你都可以随手拿来使用,极为方便!好啦,那就让我们来来聊聊这个Numpy吧!在Python中,如果涉及到第三方的使用,第一步需要做的事情当然是将这个进行导...

weixin_42490307的博客 1万+

Python---numpy1

NumPy 的全称是“ Numeric Python”,它是 Python第三方扩展,主要用来计算、处理一维或多维数组在数组算术计算方面, NumPy 提供了大量的数学函数NumPy 的底层主要用 C语言编写,因此它能够高速地执行数值计算NumPy 还提供了多种数据结构,这些数据结构能够非常契合的应用在数组和矩阵的运算上。

2301_77084486的博客 1128

python常用第三方

Web 开发数据科学可视化爬虫与自动化测试异步编程建议使用poetry或管理项目依赖,避免全局安装导致的版本冲突。

zty0721的博客 1176
上一篇: 第二章 知识及知识表示法(1)
下一篇: python的第三方包Numpy简介(2)
chy3232
博客等级 码龄5年 45粉丝 43原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值