【Python】Numpy基础:数组和矢量运算

本文详细介绍了Numpy的基础知识,包括ndarray对象的创建、数据类型、数组运算以及索引切片。重点讲解了矢量化运算的优势,如利用ufunc进行元素级数学操作,以及数组的统计方法、排序、唯一化等数据处理功能。此外,还讨论了Numpy在文件输入输出、线性代数和随机数生成等方面的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Numpy基础:数组和矢量运算

目录:

一 Numpy及其重要性

  • Numpy(Numerical Python)是高性能科学计算和数据分析的基础包,它是几乎所有数据分析高级工具的构建基础。
    ① ndarray ,一个具有矢量算数运算和复杂广播能力的快速且节省空间的多维数组。
    ② 用于对整组数据进行快速运算的标准数学函数(无需编写循环)。
    ③ 用于读写磁盘数据的工具以及用于操作内存映射文件的工具。
    ④ 线性代数、随机数生成及傅里叶变换功能。
    ⑤ 用于集成由C,C++,Fortran等语言编写的代码的工具CAPI,将数据传递给外部库(生态系统角度)。
    ⑥ Numpy本身并没有提供多么高级的数据分析功能,理解Numpy数组以及面向数组的计算将有助于你更加高效地使用pandas等工具。精通面向数组的编程和思维方式是成为Python科学计算牛人的一大关键步骤。

  • 对于大部分数据分析应用而言,最关注的功能主要集中于:
    ① 用于数据整理、自己构建、过滤、转换等快速的矢量化数组运算。
    ② 常用的数组算法,如排序、唯一化、集合运算等。
    ③ 高效的描述统计和数据聚合/摘要运算。
    ④ 用于异构数据集的合并/连接运算的数据对齐和关系型数据运算。
    ⑤ 将条件逻辑表述为数组表达式(而不是带有if-elif-else分支的循环)。
    ⑥ 数据的分组运算(聚合、转换、函数应用等)。

二 ndarray:一种多维数组对象

  • Numpy最重要的一个特点就是其N维数组对象:ndarray,该对象是一个快速而灵活的大数据集容器。可以利用这种数组对整块数据执行一些数学运算,其语法与标量元素之间的运算一样。
  • ndarray是一个通用的同构数据多维容器,其中所有的元素必须是相同类型的。每个数组都有一个shape(一个表示各维度大小的元组)和一个dtype(一个用于说明数据类型的对象)。
data.shape()     (2,3)
data.dtype()     ('float64')
1 创建ndarray
  • 序列型的对象
data = [1,2,3,4]
arr = np.array(data)
  • 嵌套序列,嵌套序列将会被转换为一个多维数组。
  • np.array会尝试为新建的数组推断出一个较为合适的数据类型,数据类型保存在一个特殊的dtype对象中。
  • 其他的创建数组的函数。
np.zeros()   #指定长度或形状的数组全部为0
np.ones()	 #指定长度或形状的数组全部为1
np.empty()   #空数组
np.arange()  #python内置函数的数组版
2 ndarray的数据类型
  • dtype(数据类型)是一个特殊的对象,它含有ndarray将一块内存解释为特定数据类型所需的信息:
arr = np.array([1,2,3],dtype = np.float64)
arr.dtype()
  • dtype是Numpy如此强大和灵活的原因之一。
  • Numpy的数据类型:
    • int8/uint8——有符号和无符号
    • float64——浮点型
    • complex64——复数
    • bool——布尔型
    • object——python对象类型
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值