• python数组处理方法


    一、数组对象的属性

    数组的大小(元素个数)
    array.size
    
    数组的维度
    array.ndim
    
    数组元素的数据类型
    array.dtype
    
    数组的形状
    array.shape
    
    数组中每个元素占用的内存空间
    array.itemsize
    
    数组所有元素占用的内存空间(字节)
    array.nbytes
    
    数组转置
    array.T
    
    数组的形状
    array.shape
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    二、数组的索引运算

    # 普通索引 - index
    array15 = np.random.randint(0, 100, 10)
    array15
    array([51, 52, 46,  4, 58, 55, 40, 98, 75,  3])
    
    array15[0] = 100
    array15
    array([100,  52,  46,   4,  58,  55,  40,  98,  75,   3])
    
    array15[-1] = 200
    array15
    array([100,  52,  46,   4,  58,  55,  40,  98,  75, 200])
    
    # 花式索引 - fancy index
    array15[[1, 2, 5, 1, 1, -1]]
    array([ 52,  46,  55,  52,  52, 200])
    
    array16 = np.arange(1, 10).reshape((3, 3))
    array16
    array([[1, 2, 3],
           [4, 5, 6],
           [7, 8, 9]])
    
    array16[1]
    array([4, 5, 6])
    
    array16[1][1]
    5
    二维数组的索引运算
    # 二维数组的索引运算
    array16[1, 1]
    5
    
    array16[-1, 1]
    8
    # 二维数组的花式索引
    array16[[0, 1, 1, 2], [0, 1, 2, 0]]
    array([1, 5, 6, 7])
    
    array16[[0, 1, 1, 2]]
    array([[1, 2, 3],
           [4, 5, 6],
           [4, 5, 6],
           [7, 8, 9]])
    
    # 布尔索引 - 用放布尔类型的数组或列表充当索引 - True对应的元素保留,False对应的元素去除
    array15[[True, False, False, True, False, True, True, False, False, False]]
    array([100,   4,  55,  40])
    
    array15 > 50
    array([ True,  True, False, False,  True,  True, False,  True,  True,
            True])
    
    array15[array15 > 50]
    array([100,  52,  58,  55,  98,  75, 200])
    
    array15 % 2 != 0
    array([False, False, False, False, False,  True, False, False,  True,
           False])
    
    array15[array15 % 2 != 0]
    array([55, 75])
    
    (array15 > 50) & (array15 % 2 != 0)
    array([False, False, False, False, False,  True, False, False,  True,
           False])
    
    array15[(array15 > 50) & (array15 % 2 != 0)]
    array([55, 75])
    
    array15[(array15 > 50) | (array15 % 2 != 0)]
    array([100,  52,  58,  55,  98,  75, 200])
    
    array15[(array15 > 50) & ~(array15 % 2 != 0)]
    array([100,  52,  58,  98, 200])
    
    array15[(array15 > 50) & (array15 % 2 == 0)]
    array([100,  52,  58,  98, 200])
    
    array16[array16 > 5]
    array([6, 7, 8, 9])
    
    # 切片索引
    array15[1:5]
    array([52, 46,  4, 58])
    
    array15[1:5:2]
    array([52,  4])
    
    array15[-3:-8:-1]
    array([98, 40, 55, 58,  4])
    
    
    
    
    
    
    array16
    array([[1, 2, 3],
           [4, 5, 6],
           [7, 8, 9]])
    
    array16[:2, 1:]
    array([[2, 3],
           [5, 6]])
    
    array16[2]
    array([7, 8, 9])
    
    array16[2, :]
    array([7, 8, 9])
    
    array16[2:, :]
    array([[7, 8, 9]])
    
    array16[::2, ::2]
    array([[1, 3],
           [7, 9]])
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
    • 115
    • 116
    • 117
    • 118

    三、数组对象的方法

    源数据

    array17 = np.random.randint(200, 500, 12)
    
    • 1

    array([351, 293, 272, 284, 243, 339, 461, 322, 214, 429, 339, 439])

    # 和
    array17.sum()
    3986
    np.sum(array17)
    3986
    
    # 算术平均
    array17.mean()
    332.1666666666667
    np.mean(array17)
    332.1666666666667
    
    # 中位数
    np.median(array17)
    330.5
    np.quantile(array17, 0.5)
    330.5
    
    # 最大值
    array17.max()
    461
    np.amax(array17)
    461
    
    # 最小值
    array17.min()
    214
    np.amin(array17)
    214
    
    # 极差(peak-to-peak)
    array17.ptp()
    247
    np.ptp(array17)
    247
    
    # IQR(四分位距离)
    q1, q3 = np.quantile(array17, [0.25, 0.75])
    iqr = q3 - q1
    iqr
    
    # IQR(四分位距离)
    q1, q3 = np.quantile(array17, [0.25, 0.75])
    iqr = q3 - q1
    iqr
    89.5
    
    # 方差
    array17.var()
    5610.63888888889
    np.var(array17)
    5610.63888888889
    
    # 标准差
    array17.std()
    74.90419807253055
    np.std(array17)
    74.90419807253055
    
    # 累积和(cumulative sum)
    array17.cumsum()
    array([ 351,  644,  916, 1200, 1443, 1782, 2243, 2565, 2779, 3208, 3547,
           3986])
    
    
    array19 = np.array([1, 0, 2, 3, 0, 0, 4, 5])
    array19
    array([1, 0, 2, 3, 
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
  • 相关阅读:
    统信UOS桌面操作系统安装教程
    python中的函数(全)
    Java面试指南
    C++项目实战-makefile
    旋转矩阵与欧拉角的相互转换
    基于51单片机交通灯仿真_紧急开关+黄灯倒计时+可调时间(proteus+代码+报告+讲解视频)
    文件夹直接打开:右键菜单,使用指定【工具】打开文件和文件夹 (通过IDEA/VScode打开)
    数据结构与算法【红黑树】的Java实现+图解
    Vue 中指令v-bind的补充、v-for的使用,两者的结合使用。
    太气人了,腾讯云服务器又降价了,买贵了
  • 原文地址:https://blog.csdn.net/m0_58239511/article/details/128140797