numpy 产生数组

numpy 产生数组

a = np.array(list,) #可以传入列表

array 要求每个数据的数据都是一样的

a.fill()#将a都变成 数字5
a=a.astypr(“float”)#将a变成float格式

生成整数系列:

a=np.arange(1,10,1)
生成1,2,3,4,5,6,7,8,9 步长为1

生成等差序列:

a = np.linspace(1,10,21) 生成 1-10 共21个数字 这些数字为等差序列

生成随机浮点数:

np.rangdom.rand(10)随机浮点数 & np.random.randn(10)随机浮点数 符合正态分布

生成随机整数

np.random.randint(1,10)

数组属性

查看数组中的数据类型

a.dtype

查看形状

a.shape—(21,)一维数组个数

查看数据数目

a.size

查看数组的维数

a.ndim

索引与切片

与列表类似
a(0) 取出第一个元素
a(0)=10 第一个元素赋值 10
a[:-1] a[:] 支持负索引,省略参数索引

扫描二维码关注公众号,回复: 5353584 查看本文章

array 生成多维数组

a = np.array([1,2,3,4],
[11,12,13,14])

查看shape

a.shape --(2,4)-- 2行4列的数据

查看数组元素个数

a.size

多维数组的索引

a[1,3] 返回第二行 第四列 14
a[1] 返回第二行
a[:,1] 返回第二列 ps: 逗号 之前 行索引 之后 列索引

多维数组的切片

a[0,3:5] 返回第一行 第四,第五行(左闭右开的区间) ps: 逗号 之前 行索引 之后 列索引
[lower,upper,step]

切片是引用 引用机制 切片的赋值会改变原数组中的值

可以使用 .COPY方式解决

花式切片

一维

index=[1,2,-3]
y = a[index] 将索引用list先定义出来

使用布尔数组

mask=np.array([0,0,1,2,0,1,1,1],dtype=bool)
a[mask]
0 则为false 非0则为True
True 则为要取出的数

二维数组

a[行索引,列索引] a[(0,1,2,3),(2,3,4,5)] \ a[3:,[0,2,4]]

三维???

where

a>0 判断数组内函数是否大于0
np.where(a>10) 返回的是 大于0 的索引位置。
利用这点可以取出 符合条件的数组内的数值
a[a>0] 利用bool切片
a[np.where(a>0)] 利用索引位置

数据类型

类型转换

a=np.arrar([1.5,3],dtype=float) 数组要求所有的元素的类型都是一样的,通过 dtype 来转化。

asarray

np.array(a,dtype=float) 将整个数组直接进行转化

astype 会产生一个新的数组,如果赋值给 原数组 会改变原数组。(a=a.astype\a 会发生变化)

a.astype(float)

数组操作

sort 排序 从小到大 深度排序

np.sort(mv_num) ‘mv_num 为要排序的数组 引用机制 不改原来数组’

argsore 返回从小到大的索引位置

order= np.argsort(num) 返回一个数组\

求和 最大值 最小值 均值 标准差 ???相关系数矩阵???\

np.sum(num) num.sum()
np.max(num) num.max()
np.min(num) num.min()
np.mean(num) num.mean()
np.std(num) num.std()
no.cov(num_1,num_2)???

多维数组的操作

数组形状

shape

a.shape=2,3 将a变成一个 2行3列的数组 a.shape 应该返回(2,3)

reshape 不会修改原数组 返回一个新的数组

a.reshape

转置??

????

a.T
a.transpose
只要不赋值 就不会改变原数组

数组的链接

按照一定的顺链接起来
concatenate((a0,a1,a2…aN),axis = 0)

ps: 要连接的数据需要放一个一元组中;需要给定一个轴向;数组的长度必须是一样的(用shape进行判断)

默认沿着第一维进行链接 axis=1?????
z=concatenate((x,y),axis=0)
链接成三维的数组
z=array((x,y))

vstack

np.vstack((x,y)) == axis =0
np.hstack((x,y)) == axis =1
np.dstack((x,y)) == array 三维

numpy 内置函数

猜你喜欢

转载自blog.csdn.net/weixin_41785923/article/details/87913197