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

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

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

操作数组

数组合并

带数组的线性代数

首先就是需要引入numpy的包

import numpy as np1

创建数组

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上有更高级的操作,但最好先理解基础操作。

python的numpy库结构_NumPy构成了数据科学领域中许多Python库的基础。相关推荐

  1. python优秀库_2017年度15个优秀的数据科学领域Python库

    由于近年来Python已经在数据科学领域引起了很大的关注,我想根据最近的经验,为数据科学家和工程师列出一些最有用的库. 由于所有的库都是开源的,我们增加了来自Github的提交,贡献者,计数和其他指标 ...

  2. python翻译库_[译] 鲜为人知的数据科学 Python 库

    Python 是一个很棒的语言.它是世界上发展最快的编程语言之一.它一次又一次地证明了在开发人员职位中和跨行业的数据科学职位中的实用性.整个 Python 及其库的生态系统使它成为全世界用户(初学者和 ...

  3. Python---(9)数据科学领域常用的15个Python包

    由于近年来Python已经在数据科学领域引起了很大的关注,我想根据最近的经验,为数据科学家和工程师列出一些最有用的库. 由于所有的库都是开源的,我们增加了来自Github的提交,贡献者,计数和其他指标 ...

  4. python资格证_掌握核心竞争力:五大数据科学类资格证书

    全文共4231字,预计学习时长10分钟 图源:unsplash 在数据科学职业生涯中,可能会有多种原因会让你想要考取资格证书.一些证书较为直接,例如数据科学资格证书,另一些则具有更为间接的影响,例如P ...

  5. 为什么说Python是数据科学领域的最佳语言?

    人人都说Python好,但Python究竟有多大的魔力能够如此备受欢迎? 近日,TIOBE 最新一期编程语言排行榜新鲜出炉,Python再次位居榜首.作为时下最火的编程语言,Python可以说是应用极 ...

  6. 原创推荐!B站最强学习资源汇总(数据科学,机器学习,Python)

    经过这几个月的居家隔离,想必大多数同学都开始习惯通过线上的方式开展学习了,在线教育领域也因此迎来了一波爆发,竞争异常激烈,既有知名平台如MOOC.学堂在线.网易云课堂等,也有不少初创新星.但要说最受年 ...

  7. 原创 | 吐血推荐,B站最强学习资源汇总(数据科学,机器学习,python)

    经过这几个月的居家隔离,想必大多数同学都开始习惯通过线上的方式开展学习了,在线教育领域也因此迎来了一波爆发,竞争异常激烈,既有知名平台如MOOC.学堂在线.网易云课堂等,也有不少初创新星.但要说最受年 ...

  8. 为什么Python是数据科学领域最受欢迎的语言之一?

    为什么大多数数据科学家都喜欢Python?这篇文章会让你了解到,Python有很多完善的工具包可以协助你完成重要的数据科学任务. 根据Indeed,Glassdoor和Dice等职场网站所提供的信息, ...

  9. 【转】B站最强学习资源汇总(数据科学,机器学习,python)

    本文转至数据分析V,原文链接:https://blog.csdn.net/Tw6cy6uKyDea86Z/article/details/105591583 经过这几个月的居家隔离,想必大多数同学都开 ...

最新文章

  1. android:HTTP通信 .
  2. win10键盘全部没反应_Win10笔记本键盘失灵怎么办 Win10键盘失灵解决方法【详解】...
  3. 信息论中的一些基本的知识
  4. Java 8 实战 P4 Beyond Java 8
  5. 神策数据:围绕跨境电商“人货场”,数据如何助力品牌乘风出海?
  6. 20应用统计考研复试要点(part11)--应用多元分析
  7. Xuggler视频处理简介
  8. 【poker】WASD变成上下左右键(方向键)的解决方法
  9. elasticsearch 7.3使用x-pack kibana登录
  10. java数据结构是什么_java数据结构
  11. oracle的sql字符串转义,sql – 在Oracle数据库中搜索带转义的字符串
  12. OpenCV阈值分割
  13. java设计模式4,不要和陌生人说话
  14. Connections could not be acquired from the unde...
  15. Tiktokshop小店实操-如何快速上传商品,一键采集,自动刊登,批量上货,多店铺铺货
  16. 十三个提高远程办公效率的工具
  17. mysql 8.0 导入文件_MySQL8.0实验-从本地文件导入数据
  18. 用友UAP NC 单据节点_打开参照字段的问题_从打不开参照放大镜_到成功打开了但是取不到值_到修复成功...
  19. 八个移动产品设计必备网站
  20. Hive的五个基础介绍

热门文章

  1. android上最好的linux终端,如何在带有Termux的Android上使用Linux命令行 | MOS86
  2. python绘制折线图保存_python如何画折线图
  3. shell和php区别,PHP中exec函数和shell_exec函数的区别
  4. java csv to list_java – 如何轻松地将CSV文件处理为List
  5. jlist动态添加元素后刷新_小米电视5再曝光:MEMC动态画质补偿技术
  6. Java 算法 一元多项式求导
  7. 解决neo4j导入数据时报错:neo4j already contains data, cannot do import here报错
  8. scrapy使用(无头)浏览器爬取动态网页
  9. python函数使用两个小括号
  10. Linux创建anaconda-navigator快捷图标并固定在dock上