Numpy的终极备忘录

本文是Numpy的终极备忘录,详细介绍了Numpy的基础知识,包括数组创建、数学运算、统计、数组操作等。Numpy是Python科学计算的核心库,提供了多维数组对象和丰富的数学函数,常用于数据科学家和分析师的工作中。文章涵盖了数组的初始化、重复、数学运算、统计、索引、数组操作和文件导入导出等关键功能,适合Numpy初学者和进阶者参考。
摘要由CSDN通过智能技术生成

作者|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库或计划将来使用,或正在学习,此页面可以成为你日常生活的一个很好的资源。

这里将讨论以下主题:

  1. Numpy数组基础知识

  2. 重复

  3. 数学运算

  4. 统计

  5. 初始化不同类型的数组

  6. 重新排列或重新组织数组

  7. 数组的索引与切片

  8. 添加行或列

  9. 追加、插入、删除和排序

  10. 随机

  11. 文件导入、保存和加载

我们开始吧!!

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.        ])

我们还可以执行一些三角运算ÿ

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值