numpy2.1: axis=0、1

本文介绍了numpy库中二维和三维数组在进行计算时,axis=0和axis=1的不同作用。在二维数组中,axis=0表示跨行操作,计算每列的元素数;而axis=1表示跨列操作,计算每行的元素数。在三维数组中,axis=0对应层,axis=1对应行,axis=2对应列。
摘要由CSDN通过智能技术生成

二维数组

axis=0 : 跨行操作,按列计算,返回一行所拥有的元素数
axis=1 : 跨列操作,按行计算,返回一列所拥有的元素数

import numpy as np
arr = np.linspace(1,6,6).reshape(2,3)
arr.max(axis=0)
arr.max(axis=1)

输出结果

arr:
 [[1. 2. 3.]
 [4. 5. 6.]] 

arr.max(axis=0):
 [4. 5. 6.] 

arr.max(axis=1):
 [3. 6.] 

axis=0 : 跨行操作,计算每列元素
axis=1 : 跨列操作,计算每行元素
arr.shape为(3行,2列),axis=0为行,axis=1为列
在这里插入图片描述

三维数组

arr.shape为(2层,3行,2列),axis=0为层,axis=1为行,axis=2为列
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
这段代码在将两个序列 `x1` 和 `x2` 进行相加时,使用了 `np.append` 函数将两个数组合并,但是合并的方式有误。`np.append` 函数的第三个参数是 `axis`,表示将两个数组在哪个维度上进行合并,如果不指定 `axis` 参数,则默认将两个数组展开成一维数组后再进行合并。在原代码中,由于 `x1` 和 `x2` 的长度不一致,所以在使用 `np.append` 函数时没有指定 `axis` 参数,导致合并结果不符合预期。 另外,原代码中使用了 `np.zeros` 函数创建长度为 `8-len(n1)` 和 `8-len(n2)` 的零数组,但是这样创建的数组是一维数组,无法与 `x1` 和 `x2` 进行合并。正确的方法应该是使用 `np.zeros` 函数创建一个形状为 `(1, 8-len(n1))` 和 `(1, 8-len(n2))` 的零数组,然后再将它们与 `x1` 和 `x2` 进行合并。 下面是修改后的代码: ```python import numpy as np import matplotlib.pyplot as plt # 1、序列的相加和相乘: n1 = np.linspace(0, 3, 4, dtype=int) x1 = np.array([2, 0.5, 0.9, 1]).reshape(1, 4) n2 = np.linspace(0, 7, 8, dtype=int) x2 = np.linspace(0, 0.7, 8, dtype=float) n = np.linspace(0, 7, 8, dtype=int) x1 = np.append(x1, np.zeros((1, 8-len(n1))), axis=1) x2 = np.append(np.zeros((1, 8-len(n2))), x2.reshape(1, 8), axis=1) x = x1 + x2 # 绘制图像 fig = plt.figure() ax1 = fig.add_subplot(3, 1, 1) ax1.stem(n1, x1[0]) ax1.axis([-1, 9, 0, 2.1]) ax2 = fig.add_subplot(3, 1, 2) ax2.stem(n2, x2[0]) ax2.axis([-1, 9, 0, 0.9]) ax3 = fig.add_subplot(3, 1, 3) ax3.stem(n, x[0]) ax3.axis([-1, 9, 0, 2.1]) plt.show() ``` 此外,代码中的 `x2` 应该是长度为 `8`,而不是 `len(n2)`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

nutron-ma

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

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

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

打赏作者

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

抵扣说明:

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

余额充值