Numpy中的ndarray

ndarray四个重要属性

ndim:维度

shape:形状

size:总长度

dtype:元素类型

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

picture1=plt.imread("rin.jpg") #读取rin.jpg文件,文件要放在相关目录下

picture1.ndim #结果为3指这个图片为3维

picture1.shape #我的结果为(960,960,3)指图片的分辨率为高960,宽960,3字节由构0-255的3维矩阵

picture1.size #我的结果是2764800,960*960*3

picture1.dtype #dtype('uint8') 无符号整数,8位1字节 00000000

ndarray索引

y1 = [1,4,7,2,5,8,3,6,9]
y1[0],y1[-1]

n1 = np.array(y1)
n1[0],n1[-1]

y2 = [[1,4,7],[2,5,8],[3,6,9]]
y2
y2[2][2] #2行2列的数和y2[2,2]同理

#修改数据

y2[-1,-1]=1 #将最后一个数改为1
y2

y2[1]=3 #第一行全改为3
y2

切片

y1 = [1,2,3,4,5,6,7,8,9]
y1[3:6]
y1[::-1] #翻转

n = np.array(y1)
n
n[3:6]
n[::-1] #行翻转


n1 = np.random.randint(0,10,size=(8,8))
n1[0] #取一行
n1[2:5] #取连续多行
n1[[1,3,5]] #取不连续多汗

n1[:,1] #先取所有行,再取其中的第二列

n1[::-1] #行翻转

n1[:,::-1] #列翻转

图片翻转

plt.imshow(picture1[::-1]) #上下翻转

plt.imshow(picture1[:,::-1]) #左右翻转

plt.imshow(picture1[:,:,::-1]) #颜色翻转 RGB->BGR
n1 = np.arange(1,21)
n1
n1.shape

n2 = np.reshape(n1,(4,5)) #变二维
n2
n2.shape

#使用-1表示剩余维度长度,只能设一个
n2.shape(5,-1)
n2.shape(-1:10)

#应用
n2.shape(-1:1) #在不知道数据长度时想将数据变为多行一列时使用

数组级联合并

n1 = np.random.randint(0,100,size=(3,5))
n2 = np.random.randint(0,100,size=(3,5))
display(n1,n2)

#np.concatenate((a1,a2,..),axis=0,out=None,casting="same_kind")
np.concatenate((n1,n2)) #默认上下合并
np.concatenate((n1,n2),axis=1) #左右合并

np.hstack((n1,n2)) #水平(左右)合并
np.vstack((n1,n2)) #锤子(上下)合并

拆分

n = np.random.ranint(0,100,size=(6,4))
n

np.vsplit(n,3) #横着拆成3份
np.vsplit(n,(1,2,4)) #按照指定位置去拆

np.hsplit(n,2) #竖着拆成2份
np.hsplit(n,(1,2)) #按照指定位置去拆


np.splot(n,2)
np.splot(n,2,axis=1)

副本/复制/拷贝

n = np.arang(10)
n2 = n
n2[0] = 100
display(n,n2) #n跟着n2一起变了


n1 = np.arange(10)
n2 = n1.copy()
n2[0] = 100
display(n1,n2) #n1没变

  • 14
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值