NumPy学习:NumPy(Numerical Python)基础(一)

在这里插入图片描述

1.什么是NumPy

  NumPy 是 Python 中用于科学计算的基础包。 它是一个 Python 库,提供多维数组对象, 各种派生对象(例如掩码数组和矩阵),以及 用于对阵列进行快速操作的各种例程,包括 数学、逻辑、形状操作、排序、选择、I/O、 离散傅里叶变换、基本线性代数、基本统计 操作、随机模拟等等。
  NumPy 包的核心是ndarray对象。这 封装同构数据类型的 N 维数组,其中 为了提高性能,在编译的代码中执行许多操作。 NumPy 数组和 标准 Python 序列:

  • 与 Python 列表不同,NumPy 数组在创建时具有固定大小 (可以动态增长)。更改 ndarray 的大小将 创建一个新数组并删除原始数组。
  • NumPy 数组中的元素都必须相同 数据类型,因此在内存中的大小将相同。例外情况: 可以有(Python,包括 NumPy)对象的数组,从而 允许不同大小元素的数组。
  • NumPy 数组有助于高级数学和其他类型的 对大量数据的操作。通常,此类操作是 与使用 Python 的内置序列。
  • 越来越多的基于 Python 的科学和数学 软件包使用 NumPy 数组;尽管这些通常支持 Python 序列输入,它们先将此类输入转换为 NumPy 数组 进行处理,并且它们经常输出 NumPy 数组。换言之, 为了有效地使用当今的大部分(甚至大部分)的 基于Python的科学/数学软件,只是知道如何 使用 Python 的内置序列类型是不够的 - 一个也是 需要知道如何使用 NumPy 数组。

2.如何导入NumPy

  将导入的名称缩短为了提高代码的可读性,这是一种广泛的约定,可使代码更具可读性。

import numpy as np

3.基础知识

  NumPy的主要对象是同构多为数组,是一个元素表(通常为数字),所有元素类型相同,由非负整数的元组索引。
  在NumPy维度中被称为。例如,3D空间中的点坐标[1,2,1]具有一个轴,该轴有3个元素,也说它的长度为3。

[[2,3,2],[1,3,2]]

  上面的例子中数组有2个轴,第一个轴表示行,长度为2;第二个轴表示列,长度为3,
  NumPy的数组类被称为ndarray,它的属性有:

  • ndarray.ndim: 数组的轴(维度)的个数。在Python世界中,维度的数量被称为rank。
  • ndarray.shape: 数组的维度。这是一个整数的元组,表示每个维度中数组的大小。对于有 n 行和 m 列的矩阵,shape 将是 (n,m)。因此,shape 元组的长度就是rank或维度的个数 ndim。
  • ndarray.size: 数组元素的总数。这等于 shape 的元素的乘积。
  • ndarray.dtype: 一个描述数组中元素类型的对象。可以使用标准的Python类型创建或指定dtype。另外NumPy提供它自己的类型。例如numpy.int32、numpy.int16和numpy.float64。
  • ndarray.itemsize: 数组中每个元素的字节大小。例如,元素为 float64 类型的数组的 itemsize 为8(=64/8),而 complex32 类型的数组的 itemsize 为4(=32/8)。它等于 ndarray.dtype.itemsize 。
  • ndarray.data: 该缓冲区包含数组的实际元素。通常,我们不需要使用此属性,因为我们将使用索引访问数组中的元素。
属性名称 属性解释
ndarray.shape 返回一个元组,其中包含ndarray对象的每个维度的大小
nbytes 返回数组中所有元素所占用的字节数
ndarray.T 返回数组的转置视图
ndarray.real 返回数组实部的视图
ndarray.imag 返回数组虚部的视图
ndarray.flat 返回一个数组元素迭代器
ndarray.flags 返回一个描述数组内存块信息的对象,例如是否为C或Fortran连续等
ndarray.strides 返回每个维度中相邻元素的字节数组成的元组,也可以用于判断数组是否是连续的
ndarray.base 如果数组是视图,则返回其基础数组,否则返回None
ndarray.ctypes 返回表示数组内存块的ctypes对象
import numpy as np
arr = np.arange(15).reshape(3,5) #生成一个3行5列的数组对象arr

print(arr.ndim) # 输出 2  表示2个轴  行和列
print(arr.shape) # 输出(3,5) 表示3行5列
print(arr.size) # 输出15  表示元素的个数
print(arr.dtype.name) # 输出 int32
print(arr.itemsize) # 输出 4 
  • 25
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

snail哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值