numpy 倒序_jupter nootbok 快捷键、NumPy模块、Pandas模块初识 - 从入门到出师

jupter nootbok 快捷键

插入cell:a b
删除cell:x
cell模式的切换:m:Markdown模式 y:code模式
运行cell:shift+enter
tab:补全
shift+tab:打开帮助文档

NumPy

NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。

一、创建ndarray
1. 使用()创建
一维数据创建
import numpy as np
([1,2,3,4,5],dtype=int)
二维数组创建
([[1,2,3],[4,5,6],[]])

注意:numpy默认ndarray的所有元素的类型是相同的如果传进来的列表中包含不同的类型,则统一为同一类型,优先级:str>float>int

使用获取一个numpy数组,数据来源于一张图片
import  as plt
img_arr = plt.imread('')#当前目录下的图片(img_arr)
img.shape
#(626, 413, 3)#前面两个数字表示像素,最后一个表示颜色
使用np的routines函数创建数组
包含以下常见创建方法:
1) (shape, dtype=None, order='C')
(shape=(4,5),dtype=float)#默认为1
np.zeros(shape, dtype=None, order='C')#默认为0
(shape, fill_value, dtype=None, order='C')
(shape=(6,7),fill_value=999)
(start, stop, num=50, endpoint=True, retstep=False, dtype=None) 等差数列
(0,100,20)#返回20个数,等差是5的一维数组
([start, ]stop, [step, ]dtype=None)
arr1 = (3,10,2) #3是开始,10是结束,2是步长 的一维数组
(10)#固定时间因子
(0,100,size=(3,4))#产生的随机数固定
array([[ 9, 15, 64, 28],
       [89, 93, 29,  8],
       [73,  0, 40, 36]])

注意:只有arange和linspace产生一维数组,其他的都可产生一维或者多维数组

ndarray的属性
4个必记参数: ndim:维度 shape:形状(各维度的长度) size:总长度  dtype:元素类型

ndarray的基本操作

1. 索引
一维与列表完全一致 多维时同理
(1)
arr = (0,100,size=(5,5)) 
#根据索引修改数据
arr[1][2] = 6666444
#获取二维数组前两行
arr[0:2]
#获取二维数组前两列
arr[:,0:2]
#获取二维数组前两行和前两列数据
arr[0:2,0:2]
#将数组的行倒序
arr[::-1]
#列倒序
arr[:,::-1]
#全部倒序
arr[::-1,::-1]
#将图片进行全倒置操作
(img_arr[::-1,::-1,::-1])
变形
.将一维数组变形成多维数组
array([[     37,      12,      72,       9,      75],
       [      5,      79, 6666444,      16,       1],
       [     76,      71,       6,      25,      50],
       [     20,      18,      84,      11,      28],
       [     29,      14,      50,      68,      87]])

(5, 5)

使用()函数,注意参数是一个tuple!数组元素变形前后要统一!

((5,-1))  #-1表示的是自动计算行或列
array([[  37,   12,   72,    9,   75],
       [   5,   79, 9999,   16,    1],
       [  76,   71,    6,   25,   50],
       [  20,   18,   84,   11,   28],
       [  29,   14,   50,   68,   87]])
将多维数组变形成一维数组
a = ((25,))

(25,)
图片倒置
img_
(626, 413, 3)
img_arr.size
775614
#将原数据三维数组变形成一维数组
arr_1 = img_((775614,))
#将arr_1元素倒置
arr_1 = arr_1[::-1]
#将arr_1变形成三维数组
a_img = ((626, 413, 3))
(a_img)
级联
((arr,arr),axis=1)  #0 纵轴  1 横轴级联需要注意的点:
级联的参数是列表:一定要加中括号或小括号
维度必须相同
形状相符:在维度保持一致的前提下,如果进行横向(axis=1)级联,必须保证进行级联的数组行数保持一致。如果进行纵向(axis=0)级联,必须保证进行级联的数组列数保持一致。
可通过axis参数改变级联的方向
():在竖直方向上堆叠
():在水平方向上平铺
切分
与级联类似,三个函数完成切分工作:
(arr,行/列号,轴):参数2是一个列表类型
((img,(400,),axis=0)[0])
np.vsplit
np.hsplit
副本
所有赋值运算不会为ndarray的任何元素创建副本。对赋值后的对象的操作也对原来的对象生效。
可使用copy()函数创建副本
c_arr = ()
c_arr[1][4] = 100100
ndarray的聚合操作
 求和np.sum
 arr.sum(axis=1)#求行的和
最大最小值:np.max/ np.min
平均值:()
其他聚合操作
Function Name    NaN-safe Version    Description
np.sum    sum    Compute sum of elements
np.prod    prod    Compute product of elements
    mean    Compute mean of elements
np.std    std    Compute standard deviation
np.var    var    Compute variance
np.min    min    Find minimum value
np.max    max    Find maximum value
np.argmin    argmin    Find index of minimum value
np.argmax    argmax    Find index of maximum value
np.median    median    Compute median of elements
np.percentile    percentile    Compute rank-based statistics of elements
np.any    N/A    Evaluate whether any elements are true
np.all    N/A    Evaluate whether all elements are true
np.power 幂运算
广播机制

【重要】ndarray广播机制的三条规则:缺失维度的数组将维度补充为进行运算的数组的维度。缺失的数组元素使用已有元素进行补充。规则一:为缺失的维度补1(进行运算的两个数组之间的维度只能相差一个维度)规则二:缺失元素用已有值填充规则三:缺失维度的数组只能有一行或者一列

m = ((2, 3))
a = (3)
display(m,a)
array([[1., 1., 1.],
       [1., 1., 1.]])
array([0, 1, 2])
m+a
array([[1., 2., 3.],
       [1., 2., 3.]])
ndarray的排序
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值