numpy - array(3)

arr1 = np.array([[(1000, 1001, 1002, 1003), (1010, 1011, 1012, 1013), (1020, 1021, 1022, 1023)],
                 [(1100, 1101, 1102, 1103), (1110, 1111, 1112, 1113), (1120, 1121, 1122, 1123)]], dtype='int')
(1) 根据坐标访问元素或内容,更改访问的内容,array也会更改。“:” 表示访问当前维度所有内容
a1 = arr1[1, 0, 2]
arr1[1, 1, 2] = 0
print(arr1)
a3 = arr1[1, :]
a4 = arr1[1, :, 2]
(2)切片
基本格式:[start_index: stop_index: step]
默认值:如果省略 start_index,则默认从数组的第一个元素开始;如果省略 stop_index,则默认到数组的最后一个元素结束;如果省略 step,则默认步长为1。所以 : 或者 :: 表示访问当前维度所有内容
负数索引:负数索引表示从数组的末尾开始计数。例如,-1 是数组的最后一个元素。
超出范围:如果 start_index 或 stop_index 超出了数组的范围,NumPy 会自动调整到有效的索引范围内。
步长:步长为正数时,数组从左到右进行切片;步长为负数时,数组从右到左进行切片。
多维数组:在多维数组中,你可以使用逗号分隔不同的维度来指定每个维度的切片。

        a5 = arr1[: 1]
        a6 = arr1[1, ::, :: 2]
       
 根据负数步长的特性切片操作可以用来对array进行指定维度上的逆序操作
        a7 = arr1[::, ::-1, ::-1]
(3)聚合函数
NumPy 提供了一系列的聚合函数,这些函数可以对数组中的数据执行计算并返回单个值。以下是一些常用的 NumPy 聚合函数:

np.sum():计算数组中所有元素的和。
np.prod():计算数组中所有元素的乘积。
np.mean():计算数组中所有元素的算术平均值。
np.std():计算数组中所有元素的标准差。
np.var():计算数组中所有元素的方差。
np.min():找出数组中的最小值。
np.max():找出数组中的最大值。
np.argmin():返回数组中最小元素的索引。#如果传参是多维数据,则将array转化为向量,再获取最小值的索引
np.argmax():返回数组中最大元素的索引。#如果传参是多维数据,则将array转化为向量,再获取最大值的索引
np.median():计算数组中的中位数。
np.percentile():计算数组中给定百分比的百分位数。
np.any():如果数组中有任何元素为真(True),则返回 True。
np.all():如果数组中所有元素都为真(True),则返回 True。
这些函数可以应用于整个数组,也可以沿着数组的指定轴(维度)进行操作。
def sum(a, axis=None, dtype=None, out=None, keepdims=np._NoValue, initial=np._NoValue, where=np._NoValue)

参数axis: 轴,接受array的维度,代表以那个维度为轴,可以理解为聚合完成后这个轴的维度没有了,被聚合了,
        axis默认值为None,将求出所有元素的和,
        如果给axis传负数则:-1 -> -n  ==>  最内层维度 -> 最外层维度 ,相当于 n-1 -> n-2 ->... 0
        适用于其他聚合函数的axis参数。
arr2 = np.array([(1, 2, 2, 1), (1, 2, 3, 1), (3, 1, 2, 1), (0, 2, 2, 3), (1, 0, 3, 1)])
arr_sum = np.sum(arr2)
arr_sum1 = np.sum(arr2, axis=0)
arr_sum2 = np.sum(arr2, axis=1)
arr_sum3 = np.sum(arr1, axis=2)
arr_sum4 = np.sum(arr1, axis=(1, 2))  # 1维和0维作为轴
arr_sum5 = np.sum(arr1, axis=-1)
其他聚合函数
arr_max1 = np.prod(arr1, axis=0)

arr_mean1 = np.mean(arr1, axis=0)

arr_max1 = np.max(arr1, axis=-1)

arr_index = np.argmax(arr1)

arr_all = np.all(arr2, axis=1)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Chris Rookie

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值