Numpy 计算数组中的整数数
我相信这是一个非常简单的问题,但我似乎找不到答案。如何计算numpy数组中的整数数?我怀疑有一个内置的计数方法?下面是我正在寻找的一个例子: >>>x=numpy.array[1,2,3,4,5] >>>numpy.countx 五, 谢谢你的帮助 size提供数组中的元素数。e、 g.x.sizesize提供数组中的元素数。e、 g.x.size非常感谢。我不知道我怎么忘了这个。。。我就记在星期五吧!非常感谢。我不知道我怎么忘了这个。。。我就记在星期五吧!
我相信这是一个非常简单的问题,但我似乎找不到答案。如何计算numpy数组中的整数数?我怀疑有一个内置的计数方法?下面是我正在寻找的一个例子: >>>x=numpy.array[1,2,3,4,5] >>>numpy.countx 五, 谢谢你的帮助 size提供数组中的元素数。e、 g.x.sizesize提供数组中的元素数。e、 g.x.size非常感谢。我不知道我怎么忘了这个。。。我就记在星期五吧!非常感谢。我不知道我怎么忘了这个。。。我就记在星期五吧!
我有许多术语的timeseries数据,示例如下: term1 = [0.0, 0.0, 0.0, 0.0, 2.2384935833581433e-06, 3.938767914008819e-06, 0.0, 0.0, 1.1961851263949013e-06, 0.0, 2.278384397623645e-06, 1.100158422812885e-06, 0.0, 1.095521835393462e-06, 0.0, 0.0, 1.6933152148605343e-06, 0
让一个数组: a =np.array([[1,2],[3,-5],[6,-15],[10,7]]) 要获得第二列元素在-6以上的行,可以执行以下操作 >>> a[a[:,1]>-6] array([[ 1, 2], [ 3, -5], [10, 7]]) 但是如何得到第二个元素在-6之间的行;3. 我试过: 并且(这会引发错误): 其中: masked_array(data = [[-- --] [-- --] [6 -15] [10
我是一个theano新手,我正在实施一个简单的基于感知器的学习规则,我得到了以下错误,我不明白为什么我会得到这个错误 这是我的代码: import numpy as np import theano from theano import function from theano import tensor as T from theano import shared from theano import Param from theano.tensor.shared_randomstreams
从一个流行的例子开始 import numpy as np class TestArray(np.ndarray): def __new__(subtype, shape, dtype=float, buffer=None, offset=0, strides=None, order=None): obj = np.ndarray.__new__(subtype, shape, dtype, buffer, offset, strides,
我有一个二进制图像,如下所示: data = np.array([[0, 0 , 0 , 0 , 0 , 0 , 0 , 0], [0, 0 , 0 , 0 , 0 , 0 , 0 , 0], [0, 0 , 1 , 1 , 1 , 1 , 0 , 0], [0, 0 , 1 , 1 , 1 , 1 , 0 , 0], [0, 0 , 1 , 1 , 1 , 1
我在.txt文件中有很多数据。 它看起来像这样: # T1 T2 T3 T4 T5 T6 T7 T8 1 20.67 20.70 20.73 20.76 20.69 20.73 20.66 20.72 2 20.68 20.70 20.74 20.75 20.69 20.73 20.66 20.72 我想使用Python脚本查找最大/最小值 首先,我试图找出T1列的最大值是多少。 这是我的(非常非常简单)代码:
GCN后CIFAR数据集的以下代码: xtx = np.dot(dataset.train_data[i].transpose(), dataset.train_data[i]) e, q = np.linalg.eigh(xtx) print(np.max(e), np.min(e)) 生成以下输出: 2.65138e+07 -0.00247511 这是不一致的,因为xtx是对称半正定的。我的猜测是,这可能是由于早期应用了GCN,但最小特征值甚至没有接近0 更新:所以我的矩阵的条件号是8.
我是不是遗漏了什么?我希望下面代码段中的np.max将返回[0,4] >>> a array([[1, 2], [0, 4]]) >>> np.max(a, axis=0) array([1, 4]) 谢谢您的指点。看起来您想要包含最大值的行,对吗 max(axis=0)分别返回[1,0]和[2,4]的最大值 argmax不带轴参数的情况下,查找整个数组的最大值-以展平形式。要将该索引转换为行号,我们必须使用unravel\
a点(b)和b点(a)会发生什么?对于矩阵复制,a.dot(b)应该是非法的。在此设置中,b.dot(a)相当于b.T.dot(a);事实上,b和b.T恰好具有相同的形状,因此即使符号使它看起来像b是一个行向量,它实际上不是。但是,我们可以将其重新定义为显式地作为行向量,在这种情况下,操作会如预期的那样失败: import numpy as np a = np.array([[1,2],[3,4]]) b = np.array([5, 6]) a.dot(b) b.dot(a) [25]中的:
我把numpy和mkl联系起来,我在稀疏矩阵上做矩阵乘法,看起来速度很慢。例如,对于大小为(100000,1000),稀疏密度为0.1,dtype为numpy.float64的矩阵A,我有 timeit A.T.dot(A)给我5.24秒 但是如果我把一个矩阵转换成稠密矩阵,然后进行乘法,我得到了650ms。 blas运算对稀疏矩阵不起作用吗?此外,我还观察到,在执行稀疏乘法时,我的cpu使用情况显示只有一个核在使用,但在密集情况下使用多个核 My numpy.show_config()具有以下
我有一个安排如下 feature_matrix = [[0.1, 0.3], [0.7, 0.8], [0.8, 0.8]] position = [10, 20, 30] [[10, 0.1, 0.3], [20, 0.7, 0.8], [30, 0.8, 0.8]] 我的职位安排如下 feature_matrix = [[0.1, 0.3], [0.7, 0.8], [0.8, 0.8]] position = [10, 20, 30] [[10, 0.1, 0.3], [20,
这很有效 range(50)[np.asarray(10)] {}.get(50) 这很有效 range(50)[np.asarray(10)] {}.get(50) 这不是因为不可损坏的类型:“numpy.ndarray” {}.get(np.asarray(50)) 在这种情况下,没有实现\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu有什么原因吗?Python字典需要它们的键来实现\uuuuuuuuuueq\uuuu
考虑下一段代码: In [90]: m1 = np.matrix([1,2,3], dtype=np.float32) In [91]: m2 = np.matrix([1,2,3], dtype=np.float32) In [92]: m3 = np.matrix([1,2,'nan'], dtype=np.float32) In [93]: np.isclose(m1, m2, equal_nan=True) Out[93]: matrix([[ True, True, True
经过一些工作,问题变成了:如何在没有固定形状的情况下输入占位符张量?代码如下。请注意,张量“x”具有形状[?,32,32,64]。显然,“ini_obj”的形状是错误的。那么,如何在“eval()”方法中输入张量“x” ini_obj = np.random.random((None, 32, 32, 64)) # numpy array sess = tf.Session() sess.run(x) x.eval(feed_dict={x: ini_obj}, session=sess)
所以我在keras上使用mnist的例子,我试图预测我自己的一个数字。我真的很挣扎如何匹配尺寸大小,因为我似乎找不到一种方法来调整图像大小,使行和列位于图像编号之后。我尝试过使用via numpy调整大小,但我只是一个接一个地出错 代码 from __future__ import print_function import keras from keras.datasets import mnist from keras.models import Sequential from keras.
我有一个numpy阵列: a = np.arange(500).reshape(100,5) 我可以使用以下函数对其进行规范化: def normalizer(X, mini, maxi): X_std = (X - X.min(axis=0)) / (X.max(axis=0) - X.min(axis=0)) X_scaled = X_std * (maxi - mini) + mini return X_scaled normalized = normalize
我想组合逻辑表达式,但出现了一个异常: array = np.arange(10) array > 1 array([False, False, True, True, True, True, True, True, True, True]) array < 4 array([ True, True, True, True, False, False, False, False, False, False]) (array >
我想将带有np.float类型的正和负值的numpy矩阵转换为带有[0255]像素的灰度图像。我想尽快做到这一点 现在我正在做以下工作: import numpy as np n = 1000 I = np.random.randn(n,n) I_min = np.min(I) I = I + np.abs(I_min) I_max = np.max(I) I = 255 * (I / I_max) I = I.astype(np.uint8) 我希望这是正确的!?有没有更快的方法?有什么可以
我可能误解了张力或。我试着做以下部分收缩: c(e,q,i,j) = a(e,q,i,j,k,l) * b(e,q,l,k) 使用 但它给了我错误 /usr/local/lib/python3.7/site-packages/numpy/core/numeric.py in tensordot(a, b, axes) 1282 else: 1283 for k in range(na): -> 1284 if as_[axes_
我正在用python中的cartopy和pcolor在海洋地图上绘制一些整数值标签。我希望NaN值显示为白色斑块。但是,目前,NaN值是使用colormap中的最低颜色绘制的。如何使pcolor以白色显示NaN值 我已经尝试过使用诸如cmap.set_bad之类的函数来调整颜色贴图,但到目前为止我无法实现这一点。我也尝试过使用蒙版数组,但也不起作用。我在下面提供了一些独立的示例代码,这些代码至少在我的环境中再现了这个问题 将numpy导入为np 将matplotlib导入为mpl 将carto
我有以下阵列: np.random.seed(3) X = np.random.randn(10,20) Y = np.random.randn(10,5) D_x,N = np.shape(X) D_y,M = np.shape(Y) assert D_x == D_y 我想通过以下公式计算L2范数的距离矩阵,而不使用for循环: A = sp.transpose(X)@X B = sp.transpose(X)@Y C = sp.transpose(Y)@Y D = A - 2*B +
我有一个numpy数组,包含5000个28乘28个图像(5000,28,28)。我想将所有这些图像保存为jpg文件,并将它们全部保存在一个文件夹中。实现这一目标的最快和最有效的方法是什么 我尝试使用以下方法将50000张28x28的图像以JPEG格式写入磁盘: 顺序代码(25秒) 多线程代码(19秒) 多处理代码(5秒) 在12核MacBook Pro上安装SSD。时间在上面列表中每个项目后面的括号中给出 #!/usr/bin/env python3 import numpy as np
我已经安装了pycharm、anaconda和python并尝试导入numpy。我已经更改了interpeter(系统interpeter路径为anaconda3/python.exe)路径,并成功地安装了numpy(至少根据pycharm),并使用“import numpy as np”代码导入它,但由于某些原因,numpy似乎不起作用。当我尝试创建一个2d数组时,我得到一个关于列表必须是索引或切片而不是元组的错误。我很确定这意味着numpy实际上没有被导入。如果你们能告诉我我做错了什么,我将
我得到了一个错误,虽然我发现类似的错误已经张贴在那里,但它并没有给我一个结论,这里是代码和错误与大小有关。我的朋友使用了相同的代码,它对他有效,但我得到了上面提到的错误 enter code here import numpy as np import scipy.stats as ss import matplotlib.pyplot as plt n=100 alpha=5 alpha1=2 np.random.seed(1) x=10*ss.uniform.rvs(s
这可能是不可能的,因为中间数组将具有可变长度的行。 我试图完成的是为具有由边界数组分隔的ad索引的元素的数组赋值。例如: bounds = np.array([[1,2], [1,3], [1,4]]) array = np.zeros((3,4)) __assign(array, bounds, 1) 作业结束后,应在 array = [ [0, 1, 0, 0], [0, 1, 1, 0], [0, 1, 1, 1] ] 我在各种迭代中尝试过类似的方法,但都没有成
代码段: np.random.seed(101) init =tf.global_variables_initializer() with tf.Session() as sess: sess.run(init) print(sess.run(x,feed_dict={x:np.random.uniform(0, 1, (1, no_of_features))})) print(np.random.uniform(0, 1, (1, no_of_features)))
我有一个MxN RGB图像,表示为a(M,N,3)数组a。我还有另一个(3,3)矩阵B。我想将a中的每个像素(3矢量)左乘B得到(M,N,3)输出矩阵C,这样C[I][j]=B@a[I][j]。如何在不循环通过A中的像素的情况下执行此操作?我认为您需要使用einsum进行此类操作: import numpy as np shape = 10, 20, 3 A = np.random.random(np.product(shape)).reshape(shape) B = np.random.r
有一些帖子讨论了稀疏矩阵乘法的性能,但它们似乎并没有回答我的问题 这是基准代码 首先,构造一个空间矩阵 在[1]中:从scipy.sparse导入dok_矩阵 在[2]:M=dok_matrix100,1中,非常大的第二维度带来了问题,即使稀疏度非常小 In [12]: Mr = M.tocsr() In [20]: Mr Out[20]: <100x4294967295 sparse matrix of type '<class 'numpy.float32'>'
我正在使用GIMP层操作,它(AFAICT)映射回SVG合成操作(,) 我正在使用OpenCV加载的图像,并使用NumPy进行操作。我最感兴趣的是实现GIMP(SVG?)的“覆盖”操作。有没有这样做的图书馆?如果没有库,如何将SVG规范转换为NumPy?叠加合成定义为: if 2 × Dc <= 1 f(Sc,Dc) = 2 × Sc × Dc otherwise f(Sc,Dc) = 1 - 2 × (1 - Dc) × (1 - Sc) X = 1 Y
我在EclipseJuno中使用pydev插件在Windows7中进行python编程,我使用的是Python3.2,它在运行使用标准python包的python应用程序时运行良好。对于我的一个项目,我必须使用pandas库,为此我下载并安装了适用于Python3的numpy和pandas Windows安装程序。但即使运行一个小程序,它也会显示错误消息。所以,如果有人知道如何使用eclipse在Windows7中安装和测试pandas,请将其传递给我 错误消息如下所示: Traceback (
我想在一个太大而无法放入内存的图像上使用scipy.ndimage.dwarcher\u ift。我唯一的选择是将图像分割成分幅,并单独处理分幅吗?为了让这一切顺利进行,我需要弄清楚如何处理瓷砖的边缘。瓷砖需要重叠一点,我必须聪明地将它们重新缝合在一起 是否有一种通用的方法将大型数组交给NumPy和SciPy函数 是的,numpy.memmap是处理超出内存限制的大型数组的通用方法 您可以检查以下答案: 或者这另一个: 两者都详细说明了如何使用numpy.memmap图像有多大?(是
我有一个关于大都会黑斯廷斯算法的简单问题。 假设分布只有一个变量x,x的值范围为s=[-2^31,2^31] 在采样过程中,我需要提出一个新的x值,然后决定是否接受它 x_{t+1} =x_t+\epsilon 如果我想自己实现它,如何确定\epsilon的值 基本解决方案是从Uniform[-2^31,2^31]中选取一个值并将其设置为\epsilon。如果值范围像[-inf,inf]一样是无界的,该怎么办 当前的MCMC库(例如pymc)如何解决该问题?最好的方法是编写一个自调整算法,该
我在二维空间中有一堆点,它们都位于一条直线(多边形)上。如何计算直线上这些点的平均坐标 我指的不是二维空间中点的质心(正如@rth最初在his中提出的那样),而是点沿其所在直线的平均位置。因此,基本上,我可以将直线转换为一维轴,计算一维中的平均位置,然后将平均位置转换回二维空间 也许这些正是必要的步骤,但我认为(或希望)numpy/scipy中有一个函数可以让我一步完成这项工作。编辑:您在问题中描述的方法确实可能是解决此问题的最简单方法 这是一个实现,它计算1D中沿直线的顶点位置,取其平均值,最
我试图通过迭代一个接一个地绘制数据集的特征。 因此,我希望图形在循环过程中不断更新 我引用了这个帖子,但是答案到处都是,尽管包含了他们的一些建议,如下所示,我仍然无法让代码正常工作。我用的是Jupyter笔记本 import matplotlib.pyplot as plt %matplotlib inline import numpy as np colors = ["darkblue", "darkgreen"] f, (ax1, ax2) = plt.subplots(1, 2, sha
我想通过索引从矩阵中查找 如果矩阵是这样的 1234 56778 9213 还有印度式的 [1,1,2,0] 所以,我想做的就是 56778 56778 9213 1234 我可以使用tensorflow的embedded\u lookup()或gather() 但是由于我的搜索技能很差,我很难找到这个操作的numpy方法 这个操作有什么方法吗?我发现np.take()支持这个操作,谢谢takeworks。您还可以简单地使用索引列表进行索引。例如,如果x=np.数组([[1,2,3,4],[5,
我有两个形状的张量(10100,2) 如何获得形状的均方损失(10100) 以下是我尝试过的: tf.sqrt(tf.square(tf.subtract(targets,logits))/n)返回(10100,2) 这实现了均方公式:l2_损失(目标-logits)只需使用tf的轴参数。减少_平均值: x = tf.reduce_mean(tf.sqrt(tf.subtract(targets, logits)), axis=2) x、 shape=(10100)为什么我被否决了?我相信很多
我试图制作一个使用numpy的应用程序,但当我用buildozer编译时,我得到了一个错误(显然是下载错误)。当我不使用numpy编译时,这很好 备注:我使用的是VirtualBox Ubuntu 16.04(为我自己配置),然后我认为我做错了什么,然后我从官方网站(kivy下载)下载了kivy buildozer VM,并在那里得到了相同的错误 我做错了什么 buildozer.spec具有: requirements=kivy,numpy 这是log_level=2的日志: kivy@kiv
我正在使用networkX,它是python中基于图形的库。我在这里截断了数据,因为它只是一个字典列表 我想求一张图中三角形的总数 import networkx as nx for i in graphT: print(nx.triangles(i)) 这就产生了 {0: 1, 1: 0, 2: 0, 3: 1, 4: 0, 5: 0, 6: 0, 7: 0, 8: 0, 9: 0, 10: 1, 11: 0, 12: 2, 13: 0, 14: 2, 15: 1, 16: 1, 1
我想这很容易,但我看不出来 我有一个800600的numpy数组,我想制作一个新数组,在两个方向上都是原来大小的3倍。当我乘以形状时,我得到一个奇怪的结果。我知道我可以用数组表示法来做这件事,但是有没有一种不用它的方法呢 >>> img.shape (800, 600) >>> img.shape * 3 (800, 600, 800, 600, 800, 600) >>> (img.shape[0] * 3, img.shape[1] *
我认为将Numpy方法直接应用于Python列表显然要慢一些。我认为它之所以慢是因为Numpy方法,比如说Numpy.mean,会在计算mean之前将列表转换成数组。但是在尝试下面的代码之后,不是这样的情况:将列表转换为数组的时间+数组的numpy平均值时间==列表的numpy平均值时间。有人能解释一下原因吗 将numpy导入为np 从时间导入时间 r=[i代表范围内的i(1000000)] 开始列表=时间() np.平均值(r) 结束列表=时间()-开始列表 开始\数组=时间() np.均值(
我在编译这段代码时出错了。请帮忙 train_images = train_images.as_matrix() train_labels = train_labels.as_matrix() test_images = test_images.as_matrix() test_labels = test_labels.as_matrix() 您可以尝试np.asmatrix(),因为您的数组似乎是numpy数组,它没有as\u matrix()属性 train_images = np.as
Numpy的广播规则又一次伤害了我,我开始觉得这可能是一种思考的方式 我错过的话题 我经常遇到以下情况:数组的第一个轴是为固定的对象保留的,比如样本数。对于某些数组,第二个轴可以表示每个样本的不同独立变量,或者当数组中每个样本只附加一个数量时,第二个轴可能不存在。例如,如果数组名为price,我可能只使用一个轴,表示每个样本的价格。另一方面,第二个轴有时更自然。例如,我可以使用一个神经网络来计算每个样本的数量,因为神经网络通常可以计算任意多值函数,所以我使用的库通常会返回一个2d数组,如果我使用
我试图从头开始创建卷积运算,以便理解引擎盖下的内容。当我看到卷积层后的激活时,图像被翻转。我只是想问问我做的对不对。我用一张附在下面的图片进行了实验。我也连接激活从卷积层跨越3个通道 输入图像的大小=(64,64,3) 卷积层后激活的大小=(33,33,3) 该图像将“5”表示为符号 def zero_pad(self, X, pad): """ Set padding to the image X. Pads with zeros all images of the
这项作业的大纲是我的教授给我的。它正在利用梯度下降法建立一个线性回归模型。我的问题是: 行向量是如何由 θ=np.零(3) 不是1 x 3矩阵?其表示为[0,0,0] 有没有办法避免我所犯的错误?如下所示,但基本上说我不能减去这两个矩阵,因为它们的大小不匹配 为了澄清,我不能改变θ的维数 真的想了解这个减法是如何工作的吗 def gradientDescent(X, y, theta, alpha, num_iters): ''' Params X - Shape
我试图理解为什么: w=[0.1,0.2,0.3,0.5,0] print(w[w!=0]) 输出:0.2 当 w=[0.1,0.2,0.3,0.5,0] w=np.asarray(w) print(w[w!=0]) 输出:[0.1 0.2 0.3 0.5],这似乎更符合逻辑 那么:为什么列表会返回第二个元素呢?Alist和Andarray实现比较的方式不同。特别是: 当与其他内容进行比较时,列表返回一个bool值True或False。显然,列表w不是值0.2sow!=0.2返回
我安装了Numpy v。1.18.4和Python 3.8。我想这是最新的2020年5月。我得到一个错误: Importing the numpy C-extensions failed. This error can happen for many reasons, often due to issues with your setup or how NumPy was installed. We have compiled some common reasons and troublesh
这是我的问题 我有两个目录,每个目录有50000张图片。 图像较大(1024 x 1024 x 3(uint8))。 我用它们来训练一个图像分类网络(相当经典) 我使用keras的“flow_from_directory”来训练网络,它工作得很好,但是。。。我的GPU的使用率仅为10% 我认为瓶颈来自于将“动态”uint8图像转换为float32张量 因此,我创建了两个新目录,将图像转换为float32 numpy数组。 但是如果我将它们保存为XX.npy,“来自目录的流”不会将它们识别为图像,
我运行了以下代码: import tensorflow_hub as hub 我得到了这个错误: --------------------------------------------------------------------------- ImportError Traceback (most recent call last) <ipython-input-3-5c017171c13e> in <modu
我定义了以下正态分布N。这里,r是随机变量(你可以把r看作“年龄”),而N的平均值由函数p(d)给出,它(作为一个参数)每次固定N(你可以把d看作“高度”): 换言之,对于不同的d(高度)值,N成为描述随机变量r(年龄)的不同PDF(由a、b和s形成) 我有很多(1800万)个d,r对,我想根据这些数据拟合PDF,找到最佳的a,b和s 我该怎么做呢?那么您想找到使数据可能性最大化的参数a、b和s?所以我可以假设损失函数是N(r,d,a,b,s)的乘积,给定数据上的r和d。有许多优化方法,假设这些