• Python中的数组Numpy


    二、Python中的Numpy多维数组

    1.创建多维数组:

    常用的方法是array。

    1. import numpy as np
    2. np.array([1,2,3])
    3. np.array([[1,2,3],[4,5,6]])

    备注:

    (1)使用 NumPy 中的 ones 可以创建维度指定且元素全为1的数组;

    (2)使用 NumPy 中的 zeros 可以创建维度指定且元素全为0的数组;

    (3)使用 NumPy 中的 empty 可以创建维度指定且元素全为随机数的数组。

    2.多维数组的常用属性:

    (1) ndim:返回统计的数组维数,即维度的数量。
    (2) shape:返回数组的维度值,对返回的结果使用数据类型为整型的元组来表示,比如维数组返回的结果为(n,m),那么 表示数组中对应维度数据的长度。
    (3) size:返回要统计数组中的元素的总数量。
    (4) dtype:返回数组中元素的数据类型。
    (5) itemsize:返回数组中每个元素的字节大小。例如元素的dtype是float64,则为8=64/8;元素的dtype是complex32,则为4=32/8,其他类似。

    1. import numpy as np
    2. a = np.empty([3,3])
    3. a.dim #2
    4. a.shape #(3,3)
    5. a.size #9
    6. a.dtype #dtype('float64')
    7. a.itemsize #8

    3.数组的打印:

    在数组中的元素太多时,若全部进行打印输出,则会占用大面积的显示空间,而且不易查看,所以在打印输出元素过多的数组时,输出显示的内容会自动跳过中间的部分,只打印首尾的一小部分,对中间的部分用省略号(...)来代替。

    1. b = np.arange(2000)
    2. print(b) #[ 0 1 2 ... 1997 1998 1999]

    4.多维数组的基本操作:

    这些操作包括数组的算术运算、索引、切片、迭代等。

    (1)数组的算术运算

    加法、减法、乘法和除法,分别为+、-、*和/。

    (2)数组自身的运算

    1) min:默认找出数组的所有元素中值最小的元素,可以通过设置axis值来按行(axis=1)或者列(axis=0)查找元素中的最小值。
    2) max:默认找出数组的所有元素中值最大的元素,可以通过设置 axis的值来按行或者列查找元素中的最大值。
    3) sum:默认对数组中的所有元素进行求和运算,并返回运算结果,同样可以通过axis的值来按行或者列对元素进行求和运算。
    4) exp:对数组中的所有元素进行指数运算。
    5) sqrt:对数组中的所有元素进行平方根运算。
    6) square:对数组中的所有元素进行平方运算。
     

    (3)随机数组

    生成随机数在我们平时的应用中是很有用的,有很多方法:

    1) seed:随机因子,在随机数生成器的随机因子被确定后,无论我们运行多少次随机程序,最后生成的数字都是一样的,随机因子更像把随机的过程变成一种伪随机的机制,不过这有利于结果的复现。
    2) rand:生成一个在[0, 1)范围内满足均匀分布的随机样本数。
    3) randn:生成一个满足平均值为0且方差为1的正太分布随机样本数。
    4) randint:在给定的范围内生成类型为整数的随机样本数。
    5) binomial:生成一个维度指定且满足二项分布的随机样本数。
    6) beta:生成一个指定维度且满足 beta 分布的随机样本数。
    7) normal:生成一个指定维度且满足高斯正太分布的随机样本数。

    示例1:

    1. np.random.seed(42)
    2. print(np.random.rand(2,3))
    3. print(np.random.randn(2,3))
    4. print(np.random.randint(1,10))
    5. print(np.random.binomial(6,1))
    6. print(np.random.beta(2,3))
    7. print(np.random.normal(2,3))

    示例1输出结果;

    1. [[0.37454012 0.95071431 0.73199394]
    2. [0.59865848 0.15601864 0.15599452]]
    3. [[ 1.57921282 0.76743473 -0.46947439]
    4. [ 0.54256004 -0.46341769 -0.46572975]]
    5. 6
    6. 6
    7. 0.45543839870822056
    8. 2.666236704694229

  • 相关阅读:
    Zigbee—网络层地址分配机制
    SpringMVC Day02 : 请求方式
    SpringMVC 05: SpringMVC中携带数据的页面跳转
    数据结构 插入排序 计数排序 快速排序 学习笔记
    【系统设计】本地生活之附近商家 LBS 服务实现
    microsoft.office.interop.word 怎样 读取 某个汉字 字体颜色为红色
    JUC包(java.util.concurrent)下的常用子类
    【c语言】编译链接--详解
    面试问题集锦【三】
    遥感云计算的一个拐点
  • 原文地址:https://blog.csdn.net/qq_33243298/article/details/127777160