Numpy常用函数用法大全

Numpy常用函数用法大全目录

A
array 创建一个np数组
arange 返回指定范围内的数组
argmax 返回沿轴axis最大值的索引

B
bincount 返回数组中的值中索引出现的次数

C
copysign 将b中各元素的符号赋值给数组a的对应元素

D
dot 矩阵运算

E
exp e的N次方

F
full 返回给定形状和类型的新数组,填充fill_value

G
gradient 返回N维数组的梯度

H
hsplit 通过指定要返回的相同shape的array的数量,或者通过指定分割应该发生之后的列来沿着其横轴拆分原array

I
isnan 测试NaN的元素,并将结果作为布尔数组返回

L
log e的指数
linspace 在指定的间隔内返回均匀间隔的数字

M
max 数组中最大的键

R
reshape 不改变数据同时改变数据格式
random.choice 随机分布一个数组
random.randn 返回一个或一组样本,具有标准正态分布

S
sum 每个数组各个键的总和

v
vsplit 沿着垂直轴分割,其分割方式与hsplit用法相同

Z
zeros_like 生成0填充形状和传入数组相同的数组
zeros 返回来一个给定形状和类型的用0填充的数组




Numpy.array(p_object, dtype=None, ndmin=0)
  1. p_object :array_like,数组,对象,其方法返回一个数组或任何(嵌套的)序列。

  2. dtype:data-type,数据类型,可选,数组所需的数据类型,默认最小类型序列。

  3. ndmin:int,最小维数,可选,默认0。


import numpy as np

// p_object

a, b = [1, 2], {3, 4}

np.array(a) // [1 2]

np.array(b) // {3, 4}

// dtype 转换元素类型

np.array([1, 2], dtype=str) // ['1' '2']

// ndmin 设置2会嵌套一层维度

a = [1,8,4,1,3,4,5]

np.array(a, ndmin=2) // [[1 8 4 1 3 4 5]]




Numpy.arange([start, ]stop, [step, ]dtype=None)
  1. start:number,可选,开始,默认的起始值是0。

  2. stop:number,可选,结束。

  3. step:number,可选,间隔。

  4. dtype: dtype,可选,输出数组的类型,默认推断类型。


import numpy as np

// 一个参数3.0结束

np.arange(3.0) // [0. 1. 2.]

// 两个参数3开始6结束

np.arange(3, 7) // [3 4 5 6]

// dtype转换类型

np.arange(3, 7, dtype=float) // [3. 4. 5. 6.]

// 三个参数3.0开始6.0结束,间隔0.5

np.arange(3.0, 7.0, 0.5) // [3.  3.5 4.  4.5 5.  5.5 6.  6.5]




numpy.dot(a, b)
  1. a,数组1

  2. b,数组2


import numpy as np

a = [[1, 0], [0, 1]]

b = [[4, 1], [2, 2]]

np.dot(a, b)

// [[4 1]

[2 2]]

4 = 1 * 4 + 0 * 2

1 = 1 * 1 + 0 * 2

2 = 0 * 4 + 1 * 2

2 = 0 * 1 + 1 * 2




numpy.exp(x)
  1. a,数组1或int

import numpy as np

np.exp(1)

// 2.718281828459045

// e的n次方

np.exp([1,2])

// [2.71828183 7.3890561 ] e的1 2 次方




np.log()
  1. a,数组1或int

import numpy as np

np.log(np.exp(4))

// 4.0

// e的指数




x.reshape() 不改变数据同时改变数据格式
  1. a,数组1或int

import numpy as np

np.arange(6).reshape((3, 2))

// [[0 1]

[2 3]

[4 5]]




np.sum() 每个数组各个键的总和
  1. a,数组1或int

import numpy as np

np.sum([1,3,4])

// 8




np.max() 返回数组最大值
  1. a,数组1或int

import numpy as np

np.max([2,5,6,7])

// 7




np.zeros_like() 生成0填充形状和传入数组相同的数组

import numpy as np

np.zeros_like([2,3])

// [0 0]




np.random.choice() 随机分布一个数组

import numpy as np

# 参数

# 是从a中以概率p,随机选择size个, p没有指定的时候相当于是一致的分布

# replace 如果是False的话,3个值不一样

np.random.choice(a=5, size=3, replace=False, p=None)

// [4 1 2]

np.random.choice(a=5, size=2, replace=False, p=[0.2, 0.1, 0.3, 0.4, 0.0])

// [3 2] 4的概率为0




np.linspace() 在指定的间隔内返回均匀间隔的数字

import numpy as np

# 也就是说生成 2 到 3 之间,每个元素的左右±数一致,也就是等差数,并且生成5个

np.linspace(2.0, 3.0, num=5)

# array([ 2.  ,  2.25,  2.5 ,  2.75,  3.  ])

# endpoint=false表示不包含3.0,默认true

np.linspace(2.0, 3.0, num=5, endpoint=False)

# array([ 2. ,  2.2,  2.4,  2.6,  2.8])

# true返回间距数0.25,默认false

np.linspace(2.0, 3.0, num=5, retstep=True)

# (array([ 2.  ,  2.25,  2.5 ,  2.75,  3.  ]), 0.25)




np.argmax() 返回沿轴axis最大值的索引

a = [[0, 1, 2], [3, 4, 5]]

np.argmax(a)

# 5

np.argmax(a, axis=0) # 0代表列

# array([1, 1, 1])

np.argmax(a, axis=1)# 1代表行

# array([2, 2])




np.zeros() 返回来一个给定形状和类型的用0填充的数组

np.zeros(5)

# array([ 0., 0., 0., 0., 0.])

np.zeros((5,), dtype=np.int)

# array([0, 0, 0, 0, 0])

np.zeros((2, 1))

# array([[ 0.],

#    [ 0.]])

a = (2,2)

np.zeros(a)

# array([[ 0., 0.],

#    [ 0., 0.]])




np.bincount() 返回数组中的值中索引出现的次数

# x中最大的数为7,那么它的索引值为0-7

x = np.array([0, 1, 1, 3, 2, 1, 7, 7])

# 索引0出现了1次,索引1出现了3次,索引2出现了1次,索引3出现了1次,索引4出现了0次,索引7出现了2次

np.bincount(x)

#因此,输出结果为:array([1, 3, 1, 1, 0, 0, 0, 2])




np.copysign() 将b中各元素的符号赋值给数组a的对应元素

np.copysign(1.3, -1)

# -1.3

1/np.copysign(0, 1)

# inf

1/np.copysign(0, -1)

# -inf




np.full() 返回给定形状和类型的新数组,填充fill_value

np.full((2, 2), np.inf)

# array([[ inf,  inf],

#        [ inf,  inf]])

np.full((2, 2), 10)

# array([[10, 10],

#        [10, 10]])




np.gradient() 返回N维数组的梯度

f = np.array([1, 2, 4, 7, 11, 16], dtype=float)

np.gradient(f)

# array([ 1. ,  1.5,  2.5,  3.5,  4.5,  5. ])

np.gradient(f, 2)

# array([ 0.5 ,  0.75,  1.25,  1.75,  2.25,  2.5 ])




np.hsplit() 通过指定要返回的相同shape的array的数量,或者通过指定分割应该发生之后的列来沿着其横轴拆分原

import numpy as np

harr = np.floor(10 * np.random.random((2, 6)))

print(harr)

print(np.hsplit(harr, 3))

# 原array:

[[ 8.  5.  0.  2.  3.  8.]

[ 0.  2.  9.  5.  8.  2.]]

# 拆分后:

[array([[ 8.,  5.],

        [ 0.,  2.]]), array([[ 0.,  2.],

        [ 9.,  5.]]), array([[ 3.,  8.],

        [ 8.,  2.]])]




np.isnan() 测试NaN的元素,并将结果作为布尔数组返回

np.isnan(np.nan)

# True

>>> np.isnan(np.inf)

# False

np.isnan([np.log(-1.),1.,np.log(0)])

# array([ True, False, False], dtype=bool)




np.vsplit() 沿着垂直轴分割,其分割方式与hsplit用法相同

varr = np.arange(16).reshape([4,4])

print(varr)

print(np.vsplit(varr, 2))

# 原array为:

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

      [ 4,  5,  6,  7],

      [ 8,  9, 10, 11],

      [12, 13, 14, 15]])

# 拆分后:

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

      [4, 5, 6, 7]]), array([[ 8,  9, 10, 11],

      [12, 13, 14, 15]])]




np.random.randn() 返回一个或一组样本,具有标准正态分布

np.random.randn(2,4)

# array([[ 0.27795239, -2.57882503,  0.3817649 ,  1.42367345],

#      [-1.16724625, -0.22408299,  0.63006614, -0.41714538]])

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