【python – numpy logical_and:意外行为】教程文章相关的互联网学习教程文章

python-将numpy数组项放入“ bins”中【代码】

这个问题已经在这里有了答案: > Grouping indices of unique elements in numpy 4个我有一些整数的numpy数组,例如a = numpy.array([1, 6, 6, 4, 1, 1, 4])我现在想将所有项目放入等值的“容器”中,以使带有标签1的容器包含具有值1的a的所有索引.对于上面的示例:bins = {1: [0, 4, 5],6: [1, 2],4: [3, 6],}结合独特性和去向的诀窍,uniques = numpy.unique(a) bins = {...

Python / Numpy我是否已经为大型数组编写了最快的代码?【代码】

目标:我有一个很大的一维距离数组(3000000),具有很多重复的距离.我正在尝试编写最快的函数,该函数返回在数组中出现n次的所有距离.我已经用numpy编写了一个函数,但是代码中的一行存在瓶颈.快速性能是一个问题,因为计算是针对2400个不同的大距离数组在for循环中完成的.import numpy as np for t in range(0, 2400):a=np.random.randint(1000000000, 5000000000, 3000000)b=np.bincount(a,minlength=np.size(a))c=np.where(b == 3)[0...

python-在NumPy中跟踪多索引和修改值【代码】

我正在迭代一个2D数组,以使用索引值进行计算,然后将计算出的值分配给所述索引. 在NumPy文档中,提供了an example用于使用迭代器修改值:for x in np.nditer(a, op_flags=['readwrite']):x[...] = 2 * x但是,当使用the following method跟踪索引时,这似乎不起作用:it = np.nditer(a, flags=['multi_index']) while not it.finished:it[...] = . . .it.iternext()但是,我可以使用it.multi_index值,但这似乎不必要.是否有更简单的方法...

python-Numpy和Pandas通过Bin重复值【代码】

我有一个具有升序组号的Dataframe或Numpy数组,我想分配一个每组重复的值列表(与唯一组数相等的长度).ID - Group 0 - 0 1 - 0 2 - 1 3 - 1 4 - 1 5 - 2 6 - 2 7 - 3要分配的值:[4, 2, 7, 8] # 4 maps to group 0, 2 maps to group 1 etc输出:ID - Group - Val 0 - 0 - 4 1 - 0 - 4 2 - 1 - 2 3 - 1 - 2 4 - 1 - 2 5 - 2 - 7 6 - 2 - 7 7 - 3 - 8赞赏任...

python-矩阵中的列的最大值列表(无Numpy)【代码】

我正在尝试在没有Numpy的矩阵中获取列的最大值列表.我正在尝试编写大量代码,但找不到所需的输出. 这是我的代码:list=[[12,9,10,5],[3,7,18,6],[1,2,3,3],[4,5,6,2]]list2=[]def maxColumn(m, column): for row in range(len(m)):max(m[row][column]) # this didn't workx = len(list)+1 for column in range(x):list2.append(maxColumn(list, column))print(list2)这是所需的输出:[12, 9, 18, 6]解决方法:首先,不要命名您的列...

python-用numpy实现最大/平均池化(跨步)【代码】

我想知道如何使用numpy实现简单的最大/平均池.我正在阅读Max and mean pooling with numpy,但不幸的是,它假定步幅与内核大小相同.有numnumic的方法来做到这一点吗?如果这适用于任何维度,也很不错,但是当然不是必需的.解决方法:这是一个使用stride_tricks的纯numpy实现:import numpy as np from numpy.lib.stride_tricks import as_strideddef pool2d(A, kernel_size, stride, padding, pool_mode='max'):'''2D PoolingParameters...

python-如何避免多列的numpy-array的精度不那么精确【代码】

我一直认为numpy uses是一种pairwise-summation,它也确保float32的高精度操作:import numpy as np N=17*10**6 # float32-precision no longer enough to hold the whole sum print(np.ones((N,1),dtype=np.float32).sum(axis=0)) # [17000000.], kind of expected但是,如果矩阵有多个列,则看起来好像使用了不同的算法:print(np.ones((N,2),dtype=np.float32).sum(axis=0)) # [16777216. 16777216.] the error is just to big pr...

python-熊猫/ numpy根据存在将行移入列【代码】

我有一个像这样的数据框:col_a | col b0 10 20 31 11 2我想将其转换为:col_a | 1 | 2 | 30 1 1 11 1 1 0不幸的是,大多数围绕该主题的问题/答案都只是将其绕开 背景:对于Scikit,我想使用b列中值的存在作为属性/功能(就像某种手动CountVectorizer,但在这种情况下是针对行值而不是文本)解决方法:使用get_dummies创建第一列进行索引,最后使用每个索引的最大值在输出中仅返回1/0值:df = p...

python-cython中的可能优化:numpy数组【代码】

以下是我的Cython代码,用于从多元正态分布中提取.我使用循环是因为每次我都有不同的密度. (conLSigma是Cholesky因子) 这会花费很多时间,因为我需要为每个循环进行逆分解和Cholesky分解.它比纯python代码要快,但是我想知道是否有什么方法可以提高速度.from __future__ import divisionimport numpy as np cimport numpy as np ctypedef np.float64_t dtype_tcimport cython @cython.boundscheck(False) @cython.wraparound(False)de...

python的numpy.ndarray和list数据类型之间的区别

python的numpy.ndarray和list数据类型有什么区别?我的想法含糊不清,但想获得以下明确的答案: >内存大小>速度/访问顺序>速度/修改顺序到位但保留长度>长度变化的影响 谢谢!解决方法:有几个区别: >您可以将元素追加到列表中,但不能更改列表的大小没有完整副本的“ numpy.ndarray”.>列表可以包含所有内容,在numpy数组中所有元素必须具有相同的类型.>实际上,矢量函数的numpy数组比将功能映射到列表.>我认为修改时间不是问题,而是迭...

Python / numpy中的n维网格【代码】

我有一个未知数的变量,它的已知步骤s范围为0到1,条件是它们的总和为1.我想创建一个所有组合的矩阵.例如,如果n = 3且s = 0.33333,则网格将为(顺序不重要):0.00, 0.00, 1.00 0.00, 0.33, 0.67 0.00, 0.67, 0.33 0.00, 1.00, 0.00 0.33, 0.00, 0.67 0.33, 0.33, 0.33 0.33, 0.67, 0.00 0.67, 0.00, 0.33 0.67, 0.33, 0.00 1.00, 0.00, 0.00我如何才能对任意n执行此操作?解决方法:编辑 这是一个更好的解决方案.它基本上将partitions的...

python-如何应用将向量返回到每个numpy数组元素的函数(并获取具有更高维的数组)【代码】

让我们直接用代码编写 注意:我编辑了映射器(例如,原始示例使用x->(x,2 * x,3 * x))到通用黑盒函数,这会造成麻烦. import numpy as npdef blackbox_fn(x): #I can't be changed!assert np.array(x).shape == (), "I'm a fussy little function!"return np.array([x, 2*x, 3*x])# let's have 2d array arr2d = np.array(list(range(4)), dtype=np.uint8).reshape(2, 2)# each element should be mapped to vector def mapper(x, bla...

python-numpy数组的元素作为具有相同索引的自己的熊猫行【代码】

这个问题已经在这里有了答案: > Split (explode) pandas dataframe string entry to separate rows 18个我有一个用numpy数组作为列中的值的pandas DataFrame.我想将每个元素转换为具有相同日期的行: 我的DataFrame看起来像这样:date website+ 0 2014-11-26 [A] 238 2015-12-20 [B, C] 297 2016-02-17 [D] 303 2016-02-23 [E, F, G]而且我要...

python-Numpy Performance-向量及其转置的外积【代码】

据我了解,向量的外积及其转置的值是对称的. Numpy是否只考虑对输出的上三角部分进行乘法运算,还是会计算整个输出矩阵(即使它是对称的并且可能浪费时间?)吗?解决方法:探索一些替代方法:In [162]: x=np.arange(100) In [163]: np.outer(x,x) Out[163]: array([[ 0, 0, 0, ..., 0, 0, 0],[ 0, 1, 2, ..., 97, 98, 99],[ 0, 2, 4, ..., 194, 196, 198],...,[ 0, 97, 194, ..., 940...

python-Numpy数组多个蒙版【代码】

尝试基于整数掩码数组多次对numpy数组进行切片和平均: 即import numpy as npdata = np.arange(11) mask = np.array([0, 1, 1, 1, 0, 2, 2, 3, 3, 3, 3])results = list() for maskid in range(1,4):result = np.average(data[mask==maskid])results.append(result) output = np.array(result)有没有一种方法可以更快地执行此操作,而又没有“ for”循环?解决方法:一种使用np.bincount的方法-np.bincount(mask, data)/np.bincount(...