当前位置: 首页 > news >正文

Python关于numpy的基础知识

一.首先先安装numpy

windows+r 输入cmd

然后像我这样输入进去,加一句后面的https:.....可以放其他他的镜像地址比如

  • 清华大学镜像源:Simple Index
  • 阿里云镜像源:Simple Index
  • 中国科学技术大学镜像源:Verifying - USTC Mirrors
  • 豆瓣镜像源:https://pypi.douban.com/simple
  • 华为云镜像源:https://repo.huaweicloud.com/repository/pypi/simple
  • 腾讯云镜像源:Simple Index
  • 网易镜像源:https://mirrors.163.com/pypi/simple

都可以试试

这里可以看看版本

二.概念分析

在编程语境中,array(数组) 是一种基本的数据结构,用于存储和组织相同类型的元素集合。它在不同的编程语言中有不同的实现和特性。以下是关于 array 的详细解释:

1. 通用概念

数组是一个有序的数据集合,每个元素可以通过索引(位置编号)快速访问。数组的特点包括:

  • 固定长度:多数语言中,数组创建后长度不可变(如 Java、C++)。
  • 相同数据类型:数组中的元素必须是同一种类型(如整数、浮点数)。
  • 连续内存:元素在内存中连续存储,便于快速访问。

2. 在不同编程语言中的实现

Python

在 Python 中,原生的数组功能由 list 提供(动态数组),但更常用的是 NumPy 数组(高效的多维数组):

 

# Python 列表(动态数组)
my_list = [1, 2, 3, 4]  # 可存储不同类型元素# NumPy 数组(需导入库)
import numpy as np
my_array = np.array([1, 2, 3, 4])  # 元素类型必须一致

NumPy 数组的优势

  • 高效的数学运算(比 Python 列表快得多)。
  • 支持多维数组(矩阵、张量)。
  • 丰富的科学计算函数。

 3. 数组操作示例

import numpy as np# 创建一维数组
a = np.array([1, 2, 3])# 创建二维数组(矩阵)
b = np.array([[1, 2, 3], [4, 5, 6]])# 访问元素
print(a[0])  # 输出: 1
print(b[1, 2])  # 输出: 6(第2行第3列)# 数组运算
c = a + 2  # 所有元素加2:[3, 4, 5]
d = a * b  # 对应元素相乘

 

4. 为什么使用数组?

  • 高效访问:通过索引直接访问元素,时间复杂度为 O (1)。
  • 内存优化:连续存储节省空间。
  • 适合数学运算:尤其在科学计算、机器学习中广泛使用。

5. 常见问题

  • 索引越界:访问不存在的索引位置(如 a[10])会报错。
  • 类型限制:NumPy 数组要求元素类型一致,否则会自动转换(如 [1, 2.5] → 全浮点数)。

http://www.xdnf.cn/news/1151857.html

相关文章:

  • 若依部署项目到服务器
  • 深入排查:编译环境(JDK)与运行环境(JRE/JDK)不一致时的常见 Java 错误及解决方案
  • 【Linux】如何理解 “一切皆文件”
  • 黑马点评系列问题之p70postman报错“服务器异常”
  • LeetCode中等题--167.两数之和II-输入有序数组
  • Java File 类详解:从基础操作到实战应用,掌握文件与目录处理全貌
  • 我用Cursor,1周上线了一个虚拟资料流量主小程序技术选型
  • Node.js:EventEmitter、Buffer
  • PCB 混合介质叠层:材料特性匹配与性能提升的技术解析
  • 如何解决 ‘NoneType‘ object has no attribute ‘get‘问题
  • 【取消分仓-分布式锁】
  • OpenCV特征点提取算法orb、surf、sift对比
  • 【数据类型与变量】
  • 学习C++、QT---29(QT库中QT事件的介绍和用了几个案例来对事件怎么使用的讲解)
  • UniApp 优化实践:使用常量统一管理本地存储 Key,提升可维护性
  • 7.19 换根dp | vpp |滑窗
  • 网络包从客户端发出到服务端接收的过程
  • 关于prometheus的一些简单的理解和总结
  • 1Panel中的OpenResty使用alias
  • 【Java源码阅读系列56】深度解读Java Constructor 类源码
  • SSH 密钥
  • C++ :vector的模拟
  • Oracle RU19.28补丁发布,一键升级稳
  • Python爬虫实战:研究psd-tools库相关技术
  • web前端渡一大师课 02 浏览器渲染原理
  • RESTful API设计与实现指南
  • 锂电池充电芯片
  • 从丢包到恢复:TCP重传机制的底层逻辑全解
  • 基于单片机智能插座设计/智能开关
  • MyBatis动态SQL实战:告别硬编码,拥抱智能SQL生成