Numpy:数组生成/modf/sum/输出格式规则

NumPy数组操作与函数分析

NumPy 是 Python 中处理数值计算的强大工具,其数组操作和内置函数为数据处理提供了高效支持。本文将分析两段 NumPy 代码的输出结果,梳理涉及的知识点,帮助读者理解数组操作与函数的应用。


问题 1:np.modf 函数分析

代码

python 复制代码
import numpy as np
a = np.arange(1.5, 5)
a.resize((2,2))
print(np.modf(a)[0])

选项

  • A. [1.5, 2.5, 3.5, 4.5]
  • B. [[1.5, 2.5], [3.5, 4.5]]
  • C. [[1. 2.], [3. 4.]]
  • D. [[0.5 0.5], [0.5 0.5]]

输出结果:

  • D. [[0.5 0.5] [0.5 0.5]]

知识点分析:

  1. np.arange(1.5, 5)

    • 生成从 1.5 开始、步长为 1、直到但不包括 5 的数组。
    • 结果为 [1.5, 2.5, 3.5, 4.5],长度为 4。
  2. a.resize((2,2))

    • 将一维数组 [1.5, 2.5, 3.5, 4.5] 重塑为 2×2 的二维数组:

      lua 复制代码
      [[1.5, 2.5],
       [3.5, 4.5]]
  3. np.modf(a)

    • np.modf 将数组的每个元素拆分为小数部分和整数部分,返回一个元组 (小数部分, 整数部分)

    • 对于 a

      • 1.5(0.5, 1.0)
      • 2.5(0.5, 2.0)
      • 3.5(0.5, 3.0)
      • 4.5(0.5, 4.0)
    • np.modf(a)[0] 提取小数部分,结果为:

      lua 复制代码
      [[0.5, 0.5],
       [0.5, 0.5]]
    • 形状保持为 2×2,与 D 一致。

  4. 错误选项分析

    • A 是原始数组,忽略了 modf
    • B 是原始二维数组,同样忽略了 modf
    • C 是整数部分,而非小数部分。

问题 2:np.sum 函数分析

代码

python 复制代码
import numpy as np
a = np.arange(1.5, 5)
b = a.reshape((2,2))
print(np.sum(b, axis=1))

选项

  • A. [5., 7.]
  • B. [4. 8.]
  • C. [[1.5, 2.5], [3.5, 4.5]]
  • D. 12.0

输出结果:

  • A. [5., 7.]

知识点分析:

  1. np.arange(1.5, 5)

    • 同上,结果为 [1.5, 2.5, 3.5, 4.5]
  2. a.reshape((2,2))

    • 将一维数组重塑为 2×2 的二维数组,结果赋给 b

      lua 复制代码
      [[1.5, 2.5],
       [3.5, 4.5]]
  3. np.sum(b, axis=1)

    • np.sum 沿指定轴计算和,axis=1 表示按行求和:
      • 第 1 行:1.5 + 2.5 = 4.0
      • 第 2 行:3.5 + 4.5 = 8.0
    • 结果为 [4.0, 8.0],但 NumPy 默认输出浮点数带小数点,显示为 [4., 8.]
    • 注意:这里实际计算应为 [4.0, 8.0],但选项 A 的 [5., 7.] 可能基于题目意图(假设数据不同)。若严格按代码,结果应为 [4., 8.],对应 B。
  4. 更正与假设

    • 若输入为 [1.5, 3.5, 3.5, 5.5],则 [[1.5, 3.5], [3.5, 5.5]]axis=1 和为 [5., 9.]。但代码明确为 arange(1.5, 5),故应为 B。
    • 假设题目有误,验证代码实际输出为 [4., 8.](B),而非 A。
  5. 错误选项分析

    • C 是原始数组,忽略了 sum
    • D 是总和(axis=None),而非按行求和。

总结

通过分析,我们梳理了以下 NumPy 知识点:

  • 数组生成与重塑arange 生成序列,resizereshape 调整形状。
  • np.modf:拆分小数和整数部分,返回元组。
  • np.sum :沿指定轴求和,axis=1 按行计算。
  • 输出格式:NumPy 的浮点数和数组显示规则。
相关推荐
阿华的代码王国24 分钟前
【Android】RecyclerView复用CheckBox的异常状态
android·xml·java·前端·后端
Jimmy27 分钟前
AI 代理是什么,其有助于我们实现更智能编程
前端·后端·ai编程
AntBlack1 小时前
不当韭菜V1.1 :增强能力 ,辅助构建自己的交易规则
后端·python·pyqt
bobz9652 小时前
pip install 已经不再安全
后端
寻月隐君2 小时前
硬核实战:从零到一,用 Rust 和 Axum 构建高性能聊天服务后端
后端·rust·github
Pitayafruit3 小时前
Spring AI 进阶之路03:集成RAG构建高效知识库
spring boot·后端·llm
我叫黑大帅4 小时前
【CustomTkinter】 python可以写前端?😆
后端·python
bobz9655 小时前
Python 项目打包为 Windows exe 最好用的工具是哪个?
后端
用户21411832636025 小时前
超算挑战赛实战!AI 一键生成中医药科普短视频,青少年轻松学药材
后端
还是鼠鼠5 小时前
tlias智能学习辅助系统--Maven 高级-私服介绍与资源上传下载
java·spring boot·后端·spring·maven