专栏首页王小雷Python之NumPy实践之数组和矢量计算

Python之NumPy实践之数组和矢量计算

Python之NumPy实践之数组和矢量计算

1. NumPy(Numerical Python)是高性能科学技术和数据分析的基础包。

2. NumPy的ndarray:一种对位数组对象。NumPy最重要的一个特点是其N维数组对象(即ndarray),该对象是是一个快速而灵活的大数据集容器。

3. 创建ndarray

    data1 = [1,2.4,4,3,0]
    arr1 = np.array(data1)
    除np.array可以创建新数组之外,zeros和ones分别可以创建指定长度或形状的全0或全1数组。empty可以创建一个没有任何具体值的数组。

4. arrage是Python内置函数range的数组版。

5. eye、identity 创建一个正方N x N单位矩阵(对角线为1,其余为0)

6. NumPy主要数据类型:浮点型、复数、整数、布尔值、字符串还有普通的Python对象。

7. 数组和标量之间的计算:数组可以代替循环对数据执行批量操作。这通常称为矢量化(Vectorization)。

8. 不同大小的数组之间的运算叫做广播。

9. 基本的索引和切片

    索引:NumPy数组的索引是一个内容丰富的主题,因为选取数据子集或者单个元素的方式有很多。
    切片:跟列表最重要的区别在于,数组切片是原始数组的视图。

10. 切片索引:切片是沿着一个轴向选取元素的,可以一次传入多个切片,就像传入多个索引那样。

11. 花式索引(Fancy indexing)是NumPy术语,它指的是利用整数数组进行索引。

12. 数组装置和轴对换:

    转置(transpose)是重塑的一种特殊形式,它返回的是源数据的视图(不会进行任何复制操作)。
    对于高维数组,transpose需要得到一个由轴编号组成的元组才能对这些轴进行转置。

13. 通用函数:快速的元素级数组函数。通用函数(即ufunc)是一种对ndarray中的数据执行元素级运算的函数。

14. 利用数组进行数据处理

NumPy数组使得可以将许多数据处理任务表述为简洁的数组表达式。用数组表达式代替循环的做法,通常被称为矢量化。

15. 将条件逻辑表述为数组运算:numpy.where函数是三元表达式x if condition else y 的矢量版本。

16. 排序

    NumPy数组也可以通过sort方法就地排序,多维数组可以在任何一个轴向上进行排序,只需将轴编号传给sort即可.
    顶级方法np.sort返回的是数组的已排序副本,而就地排序则会修改数组本身。

17. 用数组的文件进行输入输出

    将数组以二进制格式保存到磁盘:np.save和np.load
    存取文本文件:pandas中的read_csv和read_table函数;np.loadtxt或np.genfromtxt

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • SAS学习笔记之《SAS编程与数据挖掘商业案例》(5)SAS宏语言、SQL过程

    SAS学习笔记之《SAS编程与数据挖掘商业案例》(5)SAS宏语言、SQL过程 1. 一个SAS程序可能包含一个或几个语言成分: DATA步或PROC步 全程语...

    王小雷
  • 安装配置postgreSQL+pgcli+pgadmin3

    记录了postgreSQL数据库的完整的安装配置过程,以及postgreSQL的pgcli命令行智能提醒扩展,pgadmin3图形化管理客户端的配置安装。此po...

    王小雷
  • Oracle12C用户创建、授权、登录

    Oracle12C用户创建、授权、登录 1.以系统用户登录 C:\Users\LEI>sqlplus sys/dwh as sysdba; SQL*Plus:...

    王小雷
  • C++小议二维数组

    一、二维数组的介绍 当数组元素具有两个下标时, 该数组称为二维数组。 二维谁可以看做具有行和列的平面数据结构。 二、二维数组的定义 定义二维数组的形式:

    老九学堂-小师弟
  • 图解Java数据结构之稀疏数组

    在编程中,算法的重要性不言而喻,没有算法的程序是没有灵魂的。可见算法的重要性。 然而,在学习算法之前我们需要掌握数据结构,数据结构是算法的基础。 我在大学的...

    wangweijun
  • Java Review (五、数组)

    数组是编程语言中最常见的一种数据结构,可用于存储多个数据,每个数组元素存放一个数据,通 常可通过数组元素的索引来访问数组元素,包括为数组元素赋值和取出数组元素的...

    三分恶
  • 一口气吃下数组的存储方式

    Long long ago,我们讲到了数组《聊一聊数组背后的那点事》,这个已经是迈进指针的第一步了,主要的内容是一维数组,今天我们将讲述二维数组。当结束了今天的...

    谭庆波
  • js数组方法的一道笔试题考察点详解

    将数组 var a=[1,2,3] 变成数组 [4,3,2,1] 下面的方式正确的是?

    前端开发博客
  • (二十五)golang--数组

    绝命生
  • 13 个 JavaScript 数组精简技巧

    数组是 JS 最常见的一种数据结构,咱们在开发中也经常用到,在这篇文章中,提供一些小技巧,帮助咱们提高开发效率。

    前端小智@大迁世界

作者介绍

精选专题

活动推荐

扫码关注云+社区

领取腾讯云代金券