作者 | Soner Yıldırım

译者 | deephub翻译组

来源 | DeepHub IMBA(ID:deephub-imba)

NumPy构成了数据科学领域中大部分Python库的基础。

关于数据科学的一切都始于数据,数据以各种形式出现。数字、图像、文本、x射线、声音和视频记录只是数据源的一些例子。无论数据采用何种格式,都需要将其转换为一组待分析的数字。因此,有效地存储和修改数字数组在数据科学中至关重要。

NumPy (Numerical Python)是一个科学计算包,它提供了许多创建和操作数字数组的方法。它构成了许多与数据科学相关的广泛使用的Python库的基础,比如panda和Matplotlib。

在这篇文章中,我将介绍20种常用的对NumPy数组的操作。这些操作可分为4个主要类别:

  • 创建数组

  • 操作数组

  • 数组合并

  • 带数组的线性代数

首先就是需要引入numpy的包

 import numpy as np

创建数组

1.特定范围内的随机整数

第一个参数决定了范围的上限。下界默认为0,但我们也可以指定它。size参数用于指定所需的大小。

我们创建了一个由2到10之间的整数组成的3x2数组。

2. 0到1之间的随机浮点数

浮点数在0和1之间的一维数组。可以用于创建随机噪声数据。

3. 一个标准正态分布的样本

randn()用于从一个标准正态分布(即零均值和单位方差)创建一个样本。

我们创建了一个有100个浮点数的数组。

4. 1和0的矩阵

一个矩阵可以被认为是一个二维数组。我们可以用 np.zeros和np.ones构造一个0或1的矩阵

我们只需要确定矩阵的维数,就可以进行矩阵的创建。

5. 单位矩阵

单位矩阵是一个对角线为1,其他位置为0的方阵(nxn)。可以用Np.eye 或 np.identity来创建。

6. Arange

Arange函数用于在指定的时间间隔内创建具有均匀间隔顺序值的数组。我们可以指定起始值、停止值和步长。

默认的起始值是零,默认的步长是1。

7. 只有一个值的数组

我们可以使用np.full创建在每个位置具有相同值的数组。

我们需要指定要填充的大小和数字。此外,可以使用dtype参数更改数据类型。默认数据类型为整数。

操作数组

让我们首先创建一个二维数组:

8. 扁平化

Ravel函数使数组扁平化(即转换为一维数组)。

默认情况下,数组是通过逐行添加来扁平化的。通过将order参数设置为F (类fortran),可以将其更改为列。

9. 重塑

使用reshape函数,它会对数组进行重塑。A的形状是(3,4)大小是12。

可以指定每个维度上的大小,只要保证与原大小相同即可

我们不需要指定每个维度的大小。我们可以让NumPy通过-1来求维数。

10. 转置

矩阵的转置就是变换行和列。

11. Vsplit

将数组垂直分割为多个子数组。

我们将一个4x3的数组分成两个形状为2x3的子数组。

我们可以在分割后访问特定的子数组。

我们将一个6x3的数组分成3个子数组,得到第一个数组。

12. Hsplit

它与vsplit类似,但是水平工作的。

如果我们在一个6x3数组上应用hsplit得到3个子数组,得到的数组的形状将是(6,1)。

数组合并

在某些情况下,我们可能需要组合数组。NumPy提供了以多种不同方式组合数组的函数和方法。

13. 连接

这与pandas的合并的功能很相似。

我们可以使用重塑函数将这些数组转换为列向量,然后进行垂直连接。

14. Vstack

它用于垂直堆叠数组(行在彼此之上)。

它也适用于高维数组。

15. Hstack

类似于vstack,但是是水平工作的(按列排列)。

使用NumPy数组的线性代数(NumPy .linalg)

线性代数是数据科学领域的基础。NumPy作为使用最广泛的科学计算库,提供了大量的线性代数运算。

16. Det

返回一个矩阵的行列式。

矩阵必须是方阵(即行数等于列数)才能计算行列式。对于高维数组,最后两个维度必须是正方形。

17. Inv

计算矩阵的逆。

矩阵的逆矩阵是与原矩阵相乘得到单位矩阵的矩阵。不是每个矩阵都有逆矩阵。如果矩阵A有一个逆矩阵,则称为可逆或非奇异。

18. Eig

计算一个方阵的特征值和右特征向量。

19. 点积

计算两个向量的点积,这是关于它们的位置的元素的乘积的和。第一个向量的第一个元素乘以第二个向量的第一个元素,以此类推。

20. 矩阵相乘

Matmul 矩阵乘法。

我们已经讨论了NumPy的基本操作。在NumPy上有更高级的操作,但最好先理解基础操作。

感谢您的阅读。

更多精彩推荐
☞头秃,在线求名字:网易使用昵称交流,再也没有“哥,姐,总”
☞高科技公司的 CEO 要写代码吗?
☞文件系统:隐匿在 Linux 背后的机制
☞CPU有个禁区,内核权限也无法进入!
☞5年5亿美金,华为昇腾如何构建全行业AI生态?
☞将比特币用作结算网络中蕴含的经济学知识
点分享点点赞点在看

每个数据科学家都应该知道的 20 个 NumPy 操作相关推荐

  1. pd种知道每个数据的类型_每个数据科学家都应该知道的5个概念

    pd种知道每个数据的类型 意见 (Opinion) 目录 (Table of Contents) Introduction介绍 Multicollinearity多重共线性 One-Hot Encod ...

  2. python内置函数多少个_每个数据科学家都应该知道的10个Python内置函数

    python内置函数多少个 Python is the number one choice of programming language for many data scientists and a ...

  3. 每个大数据工程师都应该知道的OLAP 核心知识点

    转载:https://mp.weixin.qq.com/s/I2WqQoGwK7LRrpB4R2pobw 很值得学习的一篇文章,不适用于初学者,适用于中级或者进阶高级的大数据工程师 OLAP 系统广泛 ...

  4. ipad键盘使用快捷键_每个iPad使用者都应该知道的20个键盘快捷键

    ipad键盘使用快捷键 The iPad is great for watching YouTube or web browsing, but it's increasingly common for ...

  5. python什么时候热门_Python小白需要知道的 20 个骚操作!

    记住常见的 Python 技巧,可以帮助改善代码设计,减少出错,节省时间. Python 是一个解释型语言,可读性与易用性让它越来越热门.正如 Python 之禅中所述:优美胜于丑陋,明了胜于晦涩. ...

  6. Python小白需要知道的 20 个骚操作!​

    记住常见的 Python 技巧,可以帮助改善代码设计,减少出错,节省时间. Python 是一个解释型语言,可读性与易用性让它越来越热门.正如 Python 之禅中所述: 优美胜于丑陋,明了胜于晦涩. ...

  7. 大数据时代你需要知道的7个大数据定义

    文章讲的是大数据时代你需要知道的7个大数据定义,大数据究竟是什么?很多人可能仍然有些混淆,本文让我们来看看大数据的一些主要的定义.首先要注意的是,行业内的所有人都普遍认同,大数据不只是更多的数据. ( ...

  8. 每个人都应该知道的 18 个强大的 Excel 快捷键!

    Microsoft Excel 是一种程序,可让您在计算机或移动设备上高效地执行各种任务.它是全球小型和大型企业主要使用的重要工具. 如果您是一位经验丰富的用户,那么您可能知道 Excel 快捷键并正 ...

  9. 每个团队都应知道的API安全威胁

    原文发表于kubernetes中文社区,为作者原创翻译 ,原文地址 更多kubernetes文章,请多关注kubernetes中文社区 目录 每个团队都应知道的API安全威胁 分页和资源限制不安全 如 ...

最新文章

  1. jenkins插件findbugs+pmd+checkstyle结合sonar与maven(java环境代码质量和代码规范管理)...
  2. 高级软件工程课程第二次作业
  3. JZOJ 5466. 【NOIP2017提高A组冲刺11.9】玩游戏
  4. PHP下用正则表达式分割preg_split、替换reg_replace、匹配preg_match_all等出现乱码的解决方法...
  5. VTK:几何对象之TextActor
  6. asp.net core 5.0的一些模块
  7. linux reboot命 过程,IDRAC安装dell服务器操作系统(linux or windows),用到生命周期管理器...
  8. 余宏德:Sun所有的核心技术都是开放的
  9. 信息学奥赛一本通 1173:阶乘和 | OpenJudge NOI 1.6 15 | 洛谷 P1009 [NOIP1998 普及组] 阶乘之和
  10. java mysql存储过程_JAVA调用MySQL存储过程
  11. 精致的App登录页设计欣赏给你灵感
  12. 数据结构与算法之链式栈
  13. python机器学习库sklearn——线性回归
  14. hadoop1.x异常
  15. BZOJ3674: 可持久化并查集加强版
  16. MyBatis数据输出
  17. python批量切换图片格式的方法
  18. excel教程自学网_企业Office办公软件自学视频教程word/excel/ppt 2003 2013 2016全套
  19. 图解项目管理详细流程全景图
  20. Openjudge NOI题库 ch0111/10 河中跳房子|NOIP2015 day2 stone

热门文章

  1. 【LeetCode 剑指offer刷题】特殊数题3:204 Count Primes
  2. SQL不重复查找数据及把一列多行内容拼成一行
  3. 史上最简单MySQL教程详解(基础篇)之SQL语句以及预留关键字介绍
  4. c++类中的static详解(续)
  5. docker 实战---使用oracle xe作为开发数据库(六)
  6. android platform下载地址
  7. 发表email所需要
  8. 【金融工程实验】【matlab】使用candle函数画日均k线图
  9. demo:flask进行模型部署 | ros接收点云流 | Web接收三路视频流及局部刷新——>显示效果展示
  10. python ^ 与 - +是有运算的先后顺序的