numpy 建立空数组_第011篇:Numpy入门

19208e9eac67335edb291a99465e4ae2.png

Numpy 是用python进行科学计算的一个基础库,因为它提供了python基础包所没有提供的数据结构和高性能函数。Numpy和Pandas经常会组合使用,以达到数据处理的目标。

Numpy定义了一种专门用于科学计算的数据结构ndarray – 它是一种N维数组。

2eb54b61e7d3372f8be964449081eac7.png

NumPy的数组类称为ndarray。也被称为别名array。需要注意的是,numpy.array与Python内部库array.array不同,后者仅能处理一维数组且功能较少,而ndarray对象则包含了更多、更重要的属性:

ndarray.ndim 数组维度

2b713d5ccf9a3066e413de1007a669b0.png

ndarray.shape 数组大小

5652269ed6c9d4284d6c86e8c47a2257.png

ndarray.size 数组元素的总数

edda8088ab0b8a14fbf10fd6392d426c.png

ndarray.dtype

数组中元素的类型。这里所说的类型既可以是Python的标准类型也可以用dtype指定。同时,NumPy提供了自己的类型。比如:numpy.int32,numpy.int16和numpy.float64。

f72e0f503e92c119803e47a070cae16c.png

ndarray.itemsize 数组中每个元素的大小(以字节为单位)

86e7ed6e84cd6ba7f2834691eb4f120b.png

矩阵的建立

建立矩阵有几种方法。

例如,您可以使用array函数用常规Python列表或元组来创建数组。根据序列中元素的类型推导所得数组的类型。

115be748053c47fcf8273a390fc643ec.png

可以用array()创建float类型的矩阵

fcd180be9a1b81fbec025755809a55df.png

较常见的错误在于调用array时给定了多个参数,而不是提供一个序列作为参数。

b55ad85ab5fbfd1e42bb7af33fc75944.png

通常,数组的元素最初是未知的,但是其维度和大小是已知的。所以,Numpy准备了几个好用的初始化函数。

zeros() 初始化元素为0

b1270b0c211945ecab4c9b7093be67f4.png

ones() 初始化元素为1

aa546a4a05a32a269ae2814c3c71c1f3.png

这个数组是三维的,咱们可以用ndim来看一下。

2d1e4bff35ce7dc8be6922ab0e26e182.png

为了创建数字序列,NumPy提供了arange类似于Python内置函数的功能range,但是返回一个数组。

8ab0ddbd16233be22c4b7168ffb2e558.png

浮点数

117a7bb9830bf8150e36996f7de140ab.png

基本操作

算术运算符适用于数组。

bd28daf6154fbae5e4ee7a0f42ef96f8.png

数组的加减除你都可以自行尝试,只有乘有点复杂。数组相乘的结果是这样的:

2e1acd1407cf2837cf41061fbe8dc9a6.png

结果数组的[i][j]元素等于a和b的[i][j]元素逐一相乘。有点像这个:

6c9d6148e697e454b389af9a6bca94fb.png

许多一元运算(例如计算数组中所有元素的总和)都作为ndarray该类的方法实现。

582b015046a296975ec77f520e6f5aa8.png

默认情况下,这些操作适用于数组,就好像它是一个数字列表一样。通过指定axis参数,你可以沿数组的指定轴应用操作:

079603b1272833ab603bd1c6af4589ab.png

cumsum()为阶梯汇总,用途较少,有兴趣的同学可以自行谷歌脑补。

由于Numpy只是提供了Pandas所需的数据类型和函数,我们无法做到深入的去剖析Numpy的方方面面。不过,我们会在后续的课程中,对涉及到的Numpy内容进行补充。

感兴趣的同学还可以参考国外大神的图文讲解,比我单纯的罗列来的精彩:

Numpy和数据展示的可视化介绍 - Brave new world​www.junphy.com
65a7ee27d7b83dfe7c7ea4c15c7035dc.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值