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 的浮点数和数组显示规则。
相关推荐
martinzh1 小时前
Spring AI 项目介绍
后端
前端付豪2 小时前
20、用 Python + API 打造终端天气预报工具(支持城市查询、天气图标、美化输出🧊
后端·python
爱学习的小学渣2 小时前
关系型数据库
后端
武子康2 小时前
大数据-33 HBase 整体架构 HMaster HRegion
大数据·后端·hbase
前端付豪2 小时前
19、用 Python + OpenAI 构建一个命令行 AI 问答助手
后端·python
凌览2 小时前
斩获 27k Star,一款开源的网站统计工具
前端·javascript·后端
全栈凯哥2 小时前
02.SpringBoot常用Utils工具类详解
java·spring boot·后端
狂师2 小时前
啥是AI Agent!2025年值得推荐入坑AI Agent的五大工具框架!(新手科普篇)
人工智能·后端·程序员
星辰大海的精灵2 小时前
使用Docker和Kubernetes部署机器学习模型
人工智能·后端·架构
MikeWe2 小时前
C++宏的解析:从基础语法到实战场景
后端