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 的浮点数和数组显示规则。
相关推荐
代码哈士奇5 分钟前
认识中间件-以及两个简单的示例
后端·中间件·typescript·nodejs·nest
李匠20241 小时前
C++GO语言微服务项目之 go语言基础语法
开发语言·c++·后端·golang
Python私教2 小时前
Spring Boot操作MongoDB的完整示例大全
spring boot·后端·mongodb
mit6.8243 小时前
[Es_1] 介绍 | 特点 | 图算法 | Trie | FST
后端·elasticsearch
bing_1586 小时前
Spring Boot 为 MongoDB 自动配置了哪些核心 Bean?
spring boot·后端·mongodb
学习机器不会机器学习6 小时前
什么是跨域,如何解决跨域问题
前端·后端
LUCIAZZZ6 小时前
Caffeine快速入门
java·后端·spring·缓存·操作系统·springboot
@PHARAOH6 小时前
WHAT - Rust 静态派发(Static Dispatch)和 动态派发(Dynamic Dispatch)
开发语言·后端·rust
Code哈哈笑6 小时前
【图书管理系统】详细讲解用户登录:后端代码实现及讲解、前端代码讲解
前端·spring boot·后端·spring·状态模式
果冻kk8 小时前
【实战教程】零基础搭建DeepSeek大模型聊天系统 - Spring Boot+React完整开发指南
spring boot·后端·react.js·deepseek