NumPy基础:数组和矢量计算

约定:import numpy as np

ndarray:多维数组对象


1.创建ndarry对象

使用array函数

列表转换

嵌套序列转换为多维数组


嵌套序列转换

np.array会尝试为新建数组推断出最为合适的类型,除非有显式说明

dtype

zeros和ones分别可创建指定长度和形状的全0或全1数组,empty可创建空数组

zeros()


empty()返回的是为初始化的垃圾值,而非全0

arange

eye/identity创建一个正方形的n*n单位矩阵

单位矩阵

2.ndarray的数据类型dtype


指定数据类型


显示转换数据类型

浮点数转整数,小数部分会被截断

字符串数组若表示的全是数字,可转换为数值类型


3.数组和标量之间的运算


数组和数组之间运算


数组和标量的运算

4.索引和切片


将标量赋值给切片:广播到整个选区


二维数组:arr[0][2]等价于arr[0,2]

切片索引:

在一个轴上切片
多个切片


整数索引和切片混合:对低维轴进行切片

只有冒号表示选取整个轴

对高维轴进行切片

对切片表达式的赋值操作


5.布尔型索引


每个名字对应data数组中的一行


数组的比较运算“==”是矢量化的,产生布尔型数组


布尔型数组用于数组索引,布尔型数组的长度必须跟被索引的轴长度一致


布尔型数组跟切片、整数混合使用


选择除bob以外的其他值,"!=","~"进行否定


应用多个布尔条件


通过布尔型数组设置值


通过一维布尔数组设置整行或列的值

6.花式索引:利用整数数组进行索引


以特定顺序选取子集,传入用于指定顺序的整数列表


负数索引从末尾开始选取行

传入多个索引数组,返回一个一维数组

选取(1,0),(5,3),(7,1),(2,2)


 选取方形区域


np.ix_函数选取方形区域

花式索引与切片不同,总是将数据复制到新数组中

7.数组转置和轴对换

转置:返回源数据的视图(不进行任何复制操作)


数组转置,简单地转置可以使用.T(进行轴对换)


利用np.dot()计算内积


对于高维数组,transpose需要得到一个由轴编号组成的元组才能进行转置


使用swapaxes方法转置,需要接受一堆轴编号,返回源数据的视图

8.通用函数ufunc

是对ndarray中的数据执行元素级运算的函数,可以看做是简单函数的矢量化包装器


一元ufunc
二元ufunc


sqrt、exp


元素级最大值


modf返回两个数组

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

矢量化:用数组表达式代替循环

meshgrid函数接受两个一维数组,并产生两个二维矩阵,


计算x^2+y^2


图形化显示


9.1 将条件逻辑表述为数组运算

根据cond中的值选取xarr和yarr中的值:当cond中的值为true时,选取xarr的值,否自选取yarr的值

但对大数组处理速度不够快,无法用于多维数组

使用np.where

np.where第二第三个参数不必是数组,可以是标量

where通常用于根据另一个数组而产生一个新数组

将所有正值替换为2,负值替换为-2


只将正值设置为2

9.2数学和统计方法

基本数组统计方法
cumsum cumprod

9.3用于布尔型数组的方法

用sum对布尔型数组中的true值计数


any测试数组中是否存在true,all检查数组中是否所有值都是true

9.4排序

就地排序sort

多维数组可以再任何一个轴向上进行排序


顶级方法np.sort返回的是数组的已排序副本,而就地排序会修改数组本身

9.5唯一化以及其他的集合逻辑

数组的集合运算

10.用于数组的文件输入输出

将数组以二进制格式保存到磁盘

默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为.npy的文件中

np.save写磁盘数组数据

如果文件路径末尾没有.npy,则该扩展名会被自动加上

np.load读取磁盘上的数组

保存多个数组

np.savez将多个数组保存到一个压缩文件中

11.线性代数

dot函数:矩阵乘法
numpy.linalg函数

12.随机数生成

numpy.random
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容