Numpy 的学习笔记

本文是关于Numpy的学习笔记,涵盖了数组属性、创建方法、打印技巧及算数和矩阵运算。介绍了ndarray的ndim、shape、size、dtype、itemsize和data属性,以及使用arange、linspace等创建数组。详细讨论了数组的算术运算,如加减乘除,和矩阵运算如点乘。此外,还提到了数组操作函数,如np.argmax、np.mean和np.sort等。
摘要由CSDN通过智能技术生成

Numpy 的学习笔记

几点约定

全文采用1 ~ 3个井号,对应全书的一级、二级和三级标题。
采用四个井号来记录正式的笔记内容

Quickstart Tutorial

基础

  • Numpy的主要目的,是处理相同类型数据构成的【表元素】Table Elements

  • Numpy 的维度,被称为【轴】axes

# 以下数据有两个轴,第一个轴长度为2, 第二个轴长度为3
# 与线性代数中的约定是相同的,以下为一个2 x 3的矩阵
[[ 1., 0., 0.],
 [ 0., 1., 2.]]

ndarray的属性

这里讲述了ndarray的6个属性

ndim : 维度、shape : 形状、size : 大小

dtype : 元素类型、itemsize : 元素体积、data : 缓存空间

  • ndarray.ndim

    轴(维度)的数量

  • ndarray.shape

    数组的形状,每一个维度上的尺寸,构成一个tuple元组

  • ndarray.size

    数组的总元素数,等于size各维度的乘积

  • ndarray.dtype

    数组元素的数据类型。除了标准的Python类型之外,NumPy还给了自己的一些类型,包括numpy.int32, numpy.int16, numpy.float64

  • ndarray.itemsize

    数组元素占用的位数。比如float64,占用itemsize 8。与ndarray.dtype.itemsize是等价的。

  • ndarray.data

    包含数组实际元素的缓冲区。通常不需要使用,而使用检索访问数据。

>>> import numpy as np
>>> a = np.arange(15).reshape(3, 5)
>>> a
array([[ 0,  1,  2,  3,  4],
       [ 5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14]])
>>> a.shape   # shape 形状
(3, 5)
>>> a.ndim    # ndim 维度
2
>>> a.dtype.name  # dtype 类型
'int32'
>>> a.itemsize   # itemsize 元素体积
4
>>> a.size  # size 大小
15
>>> a
array([[ 0,  1,  2,  3,  4],
       [ 5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14]])
>>> type(a)     # a的类型
<class 'numpy.ndarray'>
>>> b = np.array([6, 7, 8])
>>> b
array([6, 7, 8])
>>> type(b)
<class 'numpy.ndarray'>
>>> b.size
3
>>> b.ndim
1
>>> b.dtype
dtype('int32')
>>> b.data    # 缓存空间
<memory at 0x000001E33E78F588>
>>> b.itemsize
4

创建array(数组)的方法

  1. 使用常规的Python list 或者tuple,调用【数组方法】array method

注意,采用array方法的时候,一定是一个list或者tuple,而不能是仅仅是一组有序的数字

import numpy as np
a = np.array([2, 3, 4])
b = np.array((1.2, 3.5, 5.1))

  1. 采用array方法创建多维数组
>>> c = np.array([[1.5, 2.3], [4, 5, 6]])
>>> c     # 注意因为上面的两个list尺寸不同,所以创建了两个list构成的数组
array([list([1.5, 2.3]), list([4, 5, 6])], dtype=object)
>>> c = np.array([[1.5, 2.3, 3.2], [4, 5, 6]])
>>> c    # 采用相同维度的list,创建了多维array
array([[1.5
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值