numpy学习(1)

常用属性

import numpy as np
#创建等差数列和等比数列
np.linspace(1,10,11) #等差数列【start,end,num】
np.arange(0,10,0.5)
np.logspace(1.5,10,10,base=2)
#常用属性
np_array.ndim
np_array.shape
np_array.size
np_array.dtype

索引和切片

arr = np.linspace(0,10,10)
arr[::-1] #倒叙
arr[-1] #去最后一个元素
#直接赋值等于在视图上修改,这样源文件也会发生修改
10.0

#二维数组
arr_2  = np.random.rand(4,4) #使用方法与np.random.randn()函数相同,返回[0,1)之间的正态分布,size为传进的参数
print(arr_2)

[[0.19229372 0.82001877 0.27824818 0.98828307]
 [0.7584768  0.29229306 0.72209078 0.77921587]
 [0.54748219 0.80055111 0.32257143 0.79664218]
 [0.49087707 0.97816853 0.68027464 0.55282942]]

#按照想要的顺序进行输出
print(arr_2[[2,3],1])
[0.80055111 0.97816853]

数组形状的改变函数

# arr.reshape() 和resize()的区别
arr_2.reshape(1,-1) # 不改变原数组arr_2
arr_2.resize(1,-1)  # 改变原数组arr_2
arr.ravel() #将数组横向降维为1维
arr.ravel(order='F')#将数组纵向降维为1维
arr.flatten()#和ravel()的效果一模一样,横向展平
arr.flatten(order='F')#和ravel(order='F')的效果一模一样,纵向展平
np.hstack() #横向拼接
np.vstack() #纵向拼接
np.tile(arr,(沿着行的方向复制次数,沿着列的方向复制次数))


reshape(),flatten(),reval()的区别:
利用flatten()操作直接改变数组的值,原数组不会发生改变
利用reval()操作直接改变数组的值,原数组会发生改变
利用reshape()操作直接改变数组的值,原数组会发生改变

np.hstack() 横向拼接 np.vstack() 纵向拼接

横向合并,数组的行数相等

纵向合并,数组的列数相等

arr_1 = np.arange(12).reshape(3,4)
arr_2 = np.arange(0,15,1).reshape(3,5)
np.hstack([arr_1,arr_2])
arr_3 = np.arange(16).reshape(4,4)
np.vstack([arr_1,arr_3])
np.concatenate((arr_1,arr_2),axis = 1) #0是沿着行进行合并,1是按照列进行合并

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值