np.mgird np.ogrid

np.ogrid:

address:https://docs.scipy.org/doc/numpy/reference/generated/numpy.ogrid.html

returns an open (i.e. not fleshed out) mesh-grid when indexed, only one dimension of each returned array is greater than 1.

The dimension and number of the output arrays are equal to the number of indexing dimensions.

If the step length is not a complex number, then the stop is not inclusive.

if the step length is a complex number (e.g. 5j), then the integer part of its magnitude is interpreted as specifying the number of points to create between the start and stop values, where the stop value is inclusive.

上面几条翻译过来就是:

返回数组的维度只有一个大于1.

返回数组的个数和维度等于输入时索引维度的个数.

若步长不是复数,就不包含stop.

若步长是复数,其整数部分表示在start和stop之间创建的点数(start和stop也算),包含stop.

下面示例解释前2条:

 1 a, b, c = np.ogrid[0:2, 0:2, 0:2]
 2 print(a.shape, b.shape, c.shape)
 3 print(a)
 4 print(b)
 5 print(c)
 6
 7 a, b, c, d = np.ogrid[0:2, 0:2, 0:2, 0:2]
 8 print(a.shape, b.shape, c.shape, d.shape)
 9
10 result:
11 (2, 1, 1) (1, 2, 1) (1, 1, 2)
12 [[[0]]
13
14  [[1]]]
15 [[[0]
16   [1]]]
17 [[[0 1]]]
18 (2, 1, 1, 1) (1, 2, 1, 1) (1, 1, 2, 1) (1, 1, 1, 2)

解释第3条:

 1 a, b, c = np.ogrid[0:4:2, 0:5:3, 0:5:1]
 2 print(a.shape, b.shape, c.shape)
 3 print(a)
 4 print(b)
 5 print(c)
 6
 7 result:
 8 (2, 1, 1) (1, 2, 1) (1, 1, 5)
 9 [[[0]]
10
11  [[2]]]  # 不包含stop
12 [[[0]
13   [3]]]
14 [[[0 1 2 3 4]]]  # 不包含stop

解释第4条:

 1 a, b, c = np.ogrid[0:4:3j, 0:5:3j, 0:5:4j]
 2 print(a.shape, b.shape, c.shape)
 3 print(a)
 4 print(b)
 5 print(c)
 6
 7 result:
 8 (3, 1, 1) (1, 3, 1) (1, 1, 4)
 9 [[[0.]]
10
11  [[2.]]
12
13  [[4.]]]  # 包含stop
14 [[[0. ]
15   [2.5]
16   [5. ]]]
17 [[[0.         1.66666667 3.33333333 5.        ]]]  # 包含stop

np.mgrid:

address: https://docs.scipy.org/doc/numpy/reference/generated/numpy.mgrid.html

除第1条不同外,其他3条完全一样:

returns an dense (or fleshed out) mesh-grid when indexed, each returned argument has the same shape.

 1 N = 100
 2 X, Y = np.mgrid[-3:3:complex(0, N), -2:2:complex(0, N)]
 3 print(X.shape, Y.shape)  # (100, 100) (100, 100)
 4 # X是每行都相等,每列递增;Y是每行都相等,每列递增
 5 print(X)
 6 # [[-3.         -3.         -3.         ... -3.         -3.
 7 #   -3.        ]
 8 #  [-2.93939394 -2.93939394 -2.93939394 ... -2.93939394 -2.93939394
 9 #   -2.93939394]
10 #  [-2.87878788 -2.87878788 -2.87878788 ... -2.87878788 -2.87878788
11 #   -2.87878788]
12 #  ...
13 #  [ 2.87878788  2.87878788  2.87878788 ...  2.87878788  2.87878788
14 #    2.87878788]
15 #  [ 2.93939394  2.93939394  2.93939394 ...  2.93939394  2.93939394
16 #    2.93939394]
17 #  [ 3.          3.          3.         ...  3.          3.
18 #    3.        ]]
19 print(Y)
20 # [[-2.         -1.95959596 -1.91919192 ...  1.91919192  1.95959596
21 #    2.        ]
22 #  ...
23 #  [-2.         -1.95959596 -1.91919192 ...  1.91919192  1.95959596
24 #    2.        ]]

原文地址:https://www.cnblogs.com/yangxiaoling/p/10223875.html

时间: 2024-10-31 05:48:13

np.mgird np.ogrid的相关文章

python 值比较判断,np.nan is np.nan 却 np.nan != np.nan ,pandas 单个数据框值判断nan

pandas中DataFrame,Series 都有 isnull()方法,而数据框却没有,用了就会报错:AttributeError: 'float' object has no attribute 'isnull' 怎么判断单个框是否为 np.nan Python常规的判断,==,和is, 这对None是有效的 None is NoneOut[49]: True None == NoneOut[50]: True 而对,np.nan,只能用is da1pd.ix[6000996,u'团队']

区分range() , np.arange() , np.linspace()

content: range() np.arange() np.linspace() 一.range(start, stop, step) 1.range() 为 python 自带函数 2.生成一个从start(包含)到stop(不包含),以step为步长的序列.返回一个 list 对象 range(stop) 返回 range object range(start, stop[, step]) 返回 range object 3.start默认为0,stop是必须的,step默认为1,可正可

numpy 常用工具函数 —— np.bincount/np.average

numpy 常用工具函数 -- np.bincount/np.average numpy 常用api(一) numpy 常用api(二) 一个函数提供 random_state 的关键字参数(keyword parameter):是为了结果的可再现性(reoccurrence)或叫可重复性. 1. np.bincount():统计次数 接口为: numpy.bincount(x, weights=None, minlength=None) 1 尤其适用于计算数据集的标签列(y_train)的分布

Numpy:np.vstack()&np.hstack() flat/flatten

一 .  np.vstack: 按垂直方向(行顺序)堆叠数组构成一个新的数组 In[3]: import numpy as np In[4]: a = np.array([[1,2,3]]) a.shape Out[4]: (1, 3) In [5]: b = np.array([[4,5,6]]) b.shape Out[5]: (1, 3) In [6]: c = np.vstack((a,b)) # 将两个(1,3)形状的数组按垂直方向叠加 print(c) c.shape # 输出形状为

去除警告: FutureWarning: In future, it will be treated as `np.float64 == np.dtype(float).type`.

文章目录: 一.警告原因分析 二.解决方法 最近在使用tensorflow-gpu的时候总是报警告,就我这强迫症能够忍他吗,no!绝对不能忍!!! 我的环境: cudnn=7.0 cuda=9.0 tensorflow-gpu=1.8 或 1.9 或 1.10.0 或 1.11.0 在上面的这个环境配置下都会报这个警告,解决方式都是一样的 一.警告原因分析 从下面包的警告可以看出,是和h5py这个库包有关的 import tensorflow as tf /home/mosheng/minico

NP:建立可视化输入的二次函数数据点集np.linspace+np.random.shuffle+np.random.normal

import numpy as np import matplotlib.pyplot as plt def fix_seed(seed=1): #重复观看一样东西 # reproducible np.random.seed(seed) # make up data建立数据 fix_seed(1) x_data = np.linspace(-7, 10, 2500)[:, np.newaxis] #水平轴-7~10 np.random.shuffle(x_data) noise = np.ran

numpy-np.ceil,np.floor,np.expand_dims方法

np.ceil(多维数组):对多维数组的各个数向上取整 np.floor(多维数组):对多维数组的各个数向下取整 np.expand_dims(x,axis = 0):在x的第一维度上插入一个维度,axis=1,在x的第二个维度上插入一个维度 例如: x = np.array([[1,2,3],[4,5,6]])print (x)print (x.shape) 结果: [[1 2 3] [4 5 6]](2, 3) axis = 0: y = np.expand_dims(x,axis=0)pr

numpy数组分割np.hsplit np.vsplit

(一)按列分割   列数必须能平分 分成2列 分成4列 (二)按行分 分成2行 分成5行 原文地址:https://www.cnblogs.com/jm7612/p/12503623.html

P和NP问题

1. 通俗详细地讲解什么是P和NP问题 http://blog.sciencenet.cn/blog-327757-531546.html NP----非定常多项式(英语:non-deterministic polynomial,缩写NP)时间复杂性类,或称非确定性多项式时间复杂性类 要计算或解决一个问题,该问题通常有一个大小规模,用n表示.例如,若分析计算一个二进制数,该数有多少位,这个位就是其大小规模.再比如,从n个数里面找出最大的那个数,这个n就是该问题的规模大小.怎么找?我们要比较n-1