numpy 数组常用函数 2018-05-22

numpy 数组常用函数

where

import numpy as np
a = np.arange(1,10)
print(a,"\n")
b = np.arange(1,10).reshape((3,3))
print(b,"\n")

[1 2 3 4 5 6 7 8 9]

[[1 2 3]
[4 5 6]
[7 8 9]]

#np.where(condition,[x,y])
np.where(a>5)
#索引为5.6.7.8的4个位置的数大于5

(array([5, 6, 7, 8], dtype=int64),)

a[np.where(a>5)]
#打印出满足条件的a的值而不是索引位置

array([6, 7, 8, 9])

np.where(b>5)
#b中的6,7,8,9 4个数大于5,索引位置为(1,2)(第二行第三列),(2,0)(第三行第一列),(2,1)(第三行第二列),(2,2)第三行第二列)

(array([1, 2, 2, 2], dtype=int64), array([2, 0, 1, 2], dtype=int64))

np.where(b>5,b,0)
#有x,y时,condition为True时取x中的值,否则取y中的值

array([[0, 0, 0],
[0, 0, 6],
[7, 8, 9]])

diag

print(b,"\n")

[[1 2 3]
[4 5 6]
[7 8 9]]

#取数组对角线的值
b1 = np.diag(b) 
b2 = np.diag(b,1)
b3 = np.diag(b,-1)

print("b1: ",b1,"\n","b2: ",b2,"\n","b3: ",b3,"\n")

b1: [1 5 9]
b2: [2 6]
b3: [4 8]

take

np.take([1,2,3,4,5],[0,2,4])

array([1, 3, 5])

np.take([1,2,3,4,5],[[0,2],[1,4]])

array([[1, 3],
[2, 5]])

choose

a = np.arange(9).reshape((3,3))
print(a)
condition = [[1,1,1],[0,0,0],[2,2,2]]

[[0 1 2]
[3 4 5]
[6 7 8]]

np.choose(condition,a)

array([[3, 4, 5],
[0, 1, 2],
[6, 7, 8]])
np.choose(condition,a),结果中的第一个元素,condition中的第一个1,指a中的第2个元素组[3 4 5],第一个1的位置为0,所以对应的元素为[3 4 5]的第一个元素3.以此类推,condition中的第2个1,指a中的第2个元素组[3 4 5],加上所在的位置,所以对应的元素为4...

np.choose(condition,[3,4,5])

array([[4, 4, 4],
[3, 3, 3],
[5, 5, 5]])

b = np.arange(9,18).reshape((3,3))
print(b)

[[ 9 10 11]
[12 13 14]
[15 16 17]]

np.choose(condition,[a,666,b])

array([[666, 666, 666],
[ 3, 4, 5],
[ 15, 16, 17]])

np.choose(b>14,(b,14))

array([[ 9, 10, 11],
[12, 13, 14],
[14, 14, 14]])

TRue =1 ,False=0

b>14
array([[False, False, False],
[False, False, False],
[ True, True, True]])
即[[0,0,0],[0,0,0],[1,1,1]] (b,14)
所以有 [[b,b,b],[b,b,b],[14,14,14]] 取b中对应的位置的元素,=》
[[ 9, 10, 11],
[12, 13, 14],
[14, 14, 14]]

标量运算

a = np.arange(3)
print(a,"\n")
print(a +2)

[0 1 2]

[2 3 4]

数组相乘

a = np.arange(4).reshape((2,2))
print(a)
a * a

[[0 1]
[2 3]]

array([[0, 1],
[4, 9]])

矩阵乘法

np.dot(a,a)

array([[ 2, 3],
[ 6, 11]])

a_matrix = np.matrix(a)
a_matrix * a_matrix

matrix([[ 2, 3],
[ 6, 11]])

矩阵变换

#转置
print(a,"\n")
a.T

[[0 1]
[2 3]]

array([[0, 2],
[1, 3]])

a.transpose()

array([[0, 2],
[1, 3]])

#共轭
c = np.matrix([[1+2j,2+2j],[3+4j,4+4j]])
print(c,"\n")
np.conjugate(c)

[[1.+2.j 2.+2.j]
[3.+4.j 4.+4.j]]

matrix([[1.-2.j, 2.-2.j],
[3.-4.j, 4.-4.j]])

#共轭转置
c.H

matrix([[1.-2.j, 3.-4.j],
[2.-2.j, 4.-4.j]])

#获取实部,虚部
np.real(c)

matrix([[1., 2.],
[3., 4.]])

np.imag(c)

matrix([[2., 2.],
[4., 4.]])

#获取幅角
np.angle(c)

array([[1.10714872, 0.78539816],
[0.92729522, 0.78539816]])

#获取绝对值
np.abs(c)

matrix([[2.23606798, 2.82842712],
[5. , 5.65685425]])

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

推荐阅读更多精彩内容

  • 基础篇NumPy的主要对象是同种元素的多维数组。这是一个所有的元素都是一种类型、通过一个正整数元组索引的元素表格(...
    oyan99阅读 5,133评论 0 18
  • 0x00 枚举 枚举是一组命名整型常量。枚举类型是使用 enum 关键字声明的。C# 枚举是值数据类型。 enum...
    Nicole__Zhang阅读 365评论 0 0
  • vi编辑器是所有Unix及Linux系统下的标准编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一...
    轮回小飞飞阅读 478评论 0 3
  • 文|石忆 我今年24岁,单身,没车,没房,毕业2年,没有很好的工作,生活平淡至极,无悲无喜,无欲无求,我想起了小时...
    石忆_阅读 662评论 54 39
  • 其一 好风来 一日好风万里恺 花明树暗艳阳开 淡容细蕊桂花醺 春蝶翩然识香来 其二 石边苔 青青石边苔 簇簇委尘...
    耘心阅读 318评论 0 0