Python基础之NumPy(二)

#reshape
n = np.arange(1,21)              #1到20的一维数组
n2 = np.reshape(n,(4,5))         #一维数组变4行5列二维数组
n2.reshape((5,4))                #变为5行4列
n2.reshape(5,4)
n2.reshape(2,-1)                 #-1为自动计算剩余维度长度,变为2行10列


#级联,合并
n1 = np.random.randint(0,100,size=(3,5))
n2 = np.random.randint(0,100,size=(3,5))
display(n1,n2)
np.concatenate((n1,n2))          #默认axis=0上下合并
np.vstack((n1,n2))               #同上
np.concatenate((n1,n2),axis=1)   #axis=0表示第一个维度(行),axis=1表示第二个维度(列)
np.hstack((n1,n2))               #同上

#拆分
n = np.random.randint(0,100,size=(6,4))
np.vsplit(n,3)                   #垂直拆分,平均分成3份
np.vsplit(n,(1,2,4))             #从1,2,4的位置拆分
np.hsplit(n,2)                   #水平方向上拆分,平均分成两份
cat1 = np.imread('cat.jpg')
cat2 = np.split(cat1,4,axis=0)   #猫的图片上下拆分

#拷贝,复制(不影响原数据值)
n = np.arange(10)
n2 = n
n2[0] = 100
display(n,n2)                    #得到的n和n2是相同的,即修改n2的同时n也被修改
n1 = np.arange(10)
n3 = n1.copy()                   
display(n1,n3)                   #得到的n1和n3不同,只有n3被修改过

#聚合操作
n = np.arange(10)
np.sum(n)                        #从0到9所有数累加
n = np.random.randint(0,10,size(3,4))
np.sum(n)                        #数组中所有数相加
np.sum(n,axis=0)                 #每一列进行行求和,不是对每行的数据进行求和
np.sum(n,axis=1)                 #每行多列求和
np.max(n)                    
np.min(n)
np.mean(n)                       #平均值同np.average
np.median(n)                     #中位数
np.percentile(n,q=50)            #百分位数,q=50表示中位数
np.argmax(n)                     #第一个最大值对应的下标,arg可以理解为索引
np.argwhere(n==np.max(n))        #按条件找到所有最大值的下标 
np.power(n,3)                    #3次方,同n**3
np.std(n)                        #标准差
np.var(n)                        #方差
n = np.array([1,2,3,np.nan])     #数组中存在空值
np.nansum(n)                     #有空值时的聚合操作,排除空值后进行聚合操作

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值