作者|Rashida Nasrin Sucky 编译|VK 来源|Towards Data Science
Python是开源的。对于使用python的数据科学家来说,Numpy这个库是必不可少的。其他一些基本的库,如Pandas,Scipy是建立在Numpy的基础上。所以我决定做一份备忘录。这里我包括了到目前为止使用的所有Numpy函数。我相信这些函数将足以让你在日常工作中作为数据科学家或数据分析员完成你的工作。
我将从非常基本的Numpy功能开始,慢慢地向更高级的功能移动。但是使用Numpy很容易。在这里你不会发现任何复杂的编码技巧。
什么是Numpy
在Numpy文档中,Numpy的定义如下:
NumPy是Python中科学计算的基本包。它是一个Python库,它提供多维数组对象、各种派生对象(如掩码数组和矩阵)以及数组上快速操作的各种例程,包括数学、逻辑、形状处理、排序、选择、I/O、离散傅立叶变换、基本线性代数,基本的统计操作,随机模拟等等。
我每天都用这个库。如果是python用户,大多数数据科学家都会这么做。它快速,易于使用,理解,简单。我不想写太多关于它是如何和为什么这么好的。因为在阅读本文的过程中,你将亲眼看到这一点。
我的目标是记录Numpy每天使用的方法。
正如文章名所说,这是一本关于Numpy的指南。它也可以用作备忘录。如果你使用Numpy库或计划将来使用,或正在学习,此页面可以成为你日常生活的一个很好的资源。
这里将讨论以下主题:
Numpy数组基础知识
重复
数学运算
统计
初始化不同类型的数组
重新排列或重新组织数组
数组的索引与切片
添加行或列
追加、插入、删除和排序
随机
文件导入、保存和加载
我们开始吧!!
Numpy数组基础知识
整个练习我都用了一个Jupyter Notebook。第一个导入Numpy。
import numpy as np
做一个Numpy数组。为此,我们需要传递一个Python列表。
输入:
a = np.array([1,2,3])
a
输出:
array([1, 2, 3])
在数组'a'中,我使用了所有的整数。现在,制作一个浮点数组:
输入:
b = np.array([[9.0, 10.0, 6.0], [6.0,1.0,7.0]])
b
输出:
array([[ 9., 10., 6.],
[ 6., 1., 7.]])
让我们试着用浮点型和浮点型数组:
输入:
np.array([1, 3.0, 0.004, -2])
输出:
array([ 1. , 3. , 0.004, -2. ])
注意,Numpy自动将整数转换为浮点!
找出数组a和b的尺寸:
输入:
a.ndim
输出:
1
输入:
b.ndim
输出:
2
数组“a”是一维数组,数组b是二维数组。
现在,找出数组“a”和“b”的形状:
输入:
a.shape
输出:
(3,)
输入:
b.shape
输出:
(2, 3)
数组“a”是一维数组。它只有一个值。但是数组b是一个二维数组。所以,它的形状是2×3。这意味着它有2行3列。
查找数组的长度:
输入:
len(a)
输出:
3
输入:
len(b)
输出:
2
数组a的长度是3,因为它里面有3个元素。数组“b”是一个二维数组。因此,数组的长度并不意味着其中元素的数量。长度表示其中一维数组的数量或其中的行数。它有两行。长度是2。
重复
有几种不同的方法可以重复数组的元素。如果你想重复整个数组,
输入:
np.array([2,4,6]*4)
输出:
array([2, 4, 6, 2, 4, 6, 2, 4, 6, 2, 4, 6])
看,数组[2,4,6]被重复了4次。
下面是如何做元素级的重复,
输入:
np.repeat([1,2,3], 3)
输出:
array([1, 1, 1, 2, 2, 2, 3, 3, 3])
这次每个元素重复3次。
我们把这个用于二维数组,
输入:
arr = np.array([[2, 4, 6]])
arr
输出:
array([[2, 4, 6]])
现在,在它上面重复:
输入:
np.repeat(arr,3,axis=0)
输出:
array([[2, 4, 6],
[2, 4, 6],
[2, 4, 6]])
这里,我们提到axis=0。所以,重复发生在0轴方向或行方向。
输入:
np.repeat(arr,3,axis=1)
输出:
array([[2, 2, 2, 4, 4, 4, 6, 6, 6]])
轴1指示列的方向。所以,重复发生在列的方向上。
数学运算
在这一节中,我将展示数学运算。大多数操作都是不言而喻的。我将从一个数组的数学运算开始。
输入:
a = np.array([1,2,3,4])
a
输出:
array([1, 2, 3, 4])
输入:
a+2
输出:
array([3, 4, 5, 6])
它向数组的每个元素添加2。
输入:
a-2
输出:
array([-1, 0, 1, 2])
你可以简单地使用类似的操作,例如:
输入:
a/2
输出:
array([0.5, 1. , 1.5, 2. ])
输入:
a**2
输出:
array([ 1, 4, 9, 16], dtype=int32)
两个星号表示指数。“a”中的每个元素都是平方的。
输入:
np.sqrt(a) # 平方根
输出:
array([1. , 1.41421356, 1.73205081, 2. ])
我们还可以执行一些三角运算ÿ