numpy中的ndarray,python中ndarray是什么意思
一.数据层面
一个数据表达一个意思,一组数据表达一个或多个意思。
维度概念:一组数据的组织形式,包括一维数据、二维数据、体贴丝袜数据、高维数据。
1.一维数据
一维数据由对等关系中有序或无序的数据组成,这些数据以线性方式组织。
对应:列表,集合
#有序列表
[1,2,3,4,5]#集合无序
{1,2,3,4,5}
2.2D数据
二维数据由多个一维数据组成,一维数据是一维数据的组合。
通信:列表
[[1,2,3],[4,5,6]]
3.深思熟虑的丝袜数据
体贴袜数据是通过在新的维度中扩展一维或二维数据而形成的。
通信:列表
[[[1],[2],[3]],[[4],[5],[6]],[[7],[8],[9]]]
4.高维数据
高维数据只使用最基本的二元关系来表示数据之间的复杂结构。
对应:字典或数据表示格式
#字典一一对应是二进制的。
dict={x1:1 , y1:2 ,
}
呈现格式:JSON、XML、YAML等。
第二,NumPy
1.介绍
NumPy是科学计算的开源基础库,是SciPy、Pandas等数据处理或科学计算库的基础。
2.主要功能:
(1)提供了一个强大的n维数组对象ndarray:
优势:
1.数组对象可以摆脱元素间运算所需的循环,使一维向量更像单个数据。
2.设置专门的数组对象,优化后可以提高此类应用的运行速度。
3.数组对象采用相同的数据类型,这有助于节省操作和存储空间。
示例:
importnumpy作为np
a=np.array([1,2,3,4,5])
b=np.array([6,7,8,9,10])
c=[]
c=a**2 b**2
打印(c)
(2)提供了一组广播函数相关函数在数据间进行计算;
(3)集成C/C /Fortran代码,提供集成工具;
(4)为科学计算提供线性代数、傅立叶变换、随机数生成等功能。
三。ndarray:
体贴的丝袜数组由实际数据和描述这些数据的元数据(数据维度和数据类型)组成。
一般要求所有元素都是同一类型,数组下标从0开始。
Np.array()可以生成一个ndarray数组,以[]的形式输出,元素之间用空格隔开。
两个属性:
轴:保存数据维度;秩:轴的数量
ndarray对象的属性:
1.ndim:等级、轴数或维数
importnumpy作为np
a=np.array([[1,2,3,4,5],[6,7,8,9,10]])print(a.ndim)
2.shape:N array对象比例,即N行M列。
importnumpy作为np
a=np.array([[1,2,3,4,5],[6,7,8,9,10]])print(a.shape)
3.size:n array对象元素的个数,形状为n*m。
importnumpy作为np
a=np.array([[1,2,3,4,5],[6,7,8,9,10]])print(a.size)
4.dtype:ndarray对象的元素类型
importnumpy作为np
a=np.array([[1,2,3,4,5],[6,7,8,9,10]])print(a.dtype)
5.itemsize:NDArray对象中每个元素的大小
importnumpy作为np
a=np.array([[1,2,3,4,5],[6,7,8,9,10]])print(a.itemsize)
四。ndarray的相关操作
1.创建:
(1)、来自列表、元组等。在Python中
Importnumpy作为np#不声明数据类型,它会在创建时自动读取类型。
nd=np.array(列表/元组)
np#声明数据类型时的Importnumpy
nd=np.array(list/tuple,dtype=np.int32)
(2)使用NumPy中的函数
功能
解释
阿兰格
返回ndarray类型,元素从0到n-1
一(形状)
根据形状生成一个全1的数组。
零(形状)
根据形状生成全零数组
完整(形状,值)
根据形状生成一个数组,每个元素值都是值。
眼睛
一个正方形的n*n单位矩阵,对角线为1,其余为0。
某人喜欢(a)
根据数组a的形状生成一个全1的数组。
零_like(a)
根据数组a的形状生成一个全零的数组。
full_like(a,值)
根据数组A的形状生成一个数组,每个元素的值都是值
linspace()
根据起始和结束数据,等间隔填充数据,形成一个数组。
连接()
将两个或多个数组组合成一个新数组。
arange函数默认为整型,其他函数默认为浮点型,np.ones((1,2),dtype=np.int32)将ones生成的数组类型设置为int32。
示例:
【2,2,20】linspace分为前封闭和后封闭两部分:
importnumpy作为np
nd=np.linspace(2,20,10)print(nd)
在关闭之前和打开之后添加endpoint=Flase,[2,2,20]Lin space:
importnumpy作为np
nd=np.linspace(2,20,10,endpoint=False)print(nd)
合并合并:
importnumpy作为np
nd=np.linspace(2,20,10)
nd2=np.linspace(2,10,3)
nd3=np.concatenate((nd,nd2))print(nd3)
(3)从字节流中
(4)从文件中读取具体格式。
2.转换
(1)维度转换
整形(不改变原始数组)
importnumpy作为np
nd=np.full((2,4,8),6)
a=nd . shape((8,8))打印(a)打印()打印(nd)
调整大小(改变原始数组)
importnumpy作为np
nd=np.full((2,4,8),6)print(nd)print()
调整大小((8,8))打印(nd)
(2)元素类型转换
Astype(返回一个新数组)
importnumpy作为np
nd=np.full((2,4,8),6,dtype=int)print(nd)
nd2=nd . astype(NP . float)print()print(nd2)
(3)将ndarray数组转换成一个列表。
tolist()
importnumpy作为np
nd=np.full((2,4,2),1)print(nd)
nd2=nd . to list()print()print(nd2)
3.索引
获取数组中特定位置的元素的过程。
一维:索引方式与python list相同。
体贴的丝袜:nd[x,y,z]
importnumpy作为np
Nd=NP。阿兰格(18)。reshape ((2,3,3)) print (nd) print(索引的元素是: str(nd[1,2,2]))
4.薄片
获取数组元素子集的过程
一维:切片方式和python list一样。
体贴的丝袜:
importnumpy作为np
Nd=NP。阿兰格(18)。整形((2,3,3))打印(nd)打印(剪切:)打印(nd[:2])
5.操作
数组和标量之间的计算是数组中每个元素和标量的计算。
示例:
importnumpy作为np
nd=np.arange(18)。整形((2,3,3))打印(nd)
nd=nd/2
打印(操作结果:)打印(nd)
该功能如下所示:
功能
解释
abs(n)
晶圆厂
计算数组中每个元素的绝对值。
sqrt(n)
计算数组中每个元素的平方根。
正方形
计算数组中每个元素的平方。
林特
元素的舍入
modf(n)
每个元素的整数和小数部分被分成两个独立的数组。
cos(名词)
三角函数
exp(n)
每个元素的索引值
符号
每个元素的符号值,正数表示,负数表示-,0表示0。
对数
计算每个元素的对数
细胞
地板(n)
计算每个元素的上限值或下限值
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。