
从numpy数组中随机选择
我有两个相关的numpy数组X和y。我需要从中选择n随机行,X并将其存储在数组中,并将其对应的y值附加到随机选择的点的索引上。我有另一个数组index,它存储我不想采样的索引列表。我怎样才能做到这一点?样本数据:index = [2,3]X = np.array([[0.3,0.7],[0.5,0.5] ,[0.2,0.8], [0.1,0.9]])y = np.array([[0], [1], [0], [1]])...
2024-01-10
在numpy数组中绘制多边形
我正在尝试绘制这样的多边形:In [1]: canvas = numpy.zeros((12, 12), dtype=int)In [2]: mahotas.polygon.fill_polygon( ...: [(1, 1), (1, 10), (10, 10), (10, 1)], ...: canvas)In [3]: canvasOut[3]: array([[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 1, 1, 1, 1, 1, 1...
2024-01-10
如何在numpy中反转排列数组
给定一个自索引(不确定这是否是正确的术语)的numpy数组,例如:a = np.array([3, 2, 0, 1])这表示此排列(=>是箭头):0 => 31 => 22 => 03 => 1我正在尝试制作一个表示逆变换的数组,而没有在python中“手动”进行,也就是说,我想要一个 纯粹的 numpy解决方案。在上述情况下,我想要的结果是:array([2, 3...
2024-01-10
在numpy数组中查找最接近的值
是否有numpy-thonic方法(例如函数)在数组中查找最接近的值?例:np.find_nearest( array, value )回答:import numpy as npdef find_nearest(array, value): array = np.asarray(array) idx = (np.abs(array - value)).argmin() return array[idx]array = np.random.random(10)print(array)# [ ...
2024-01-10
从文本文件读取数据到numpy数组
我有一个包含一些元数据的文件,然后是包含2个带有标题的列的实际数据。在numpy中使用genfromtxt之前,是否需要将两种类型的数据分开?还是可以以某种方式拆分数据?将文件指针放在标题上方行的末尾,然后从那里尝试genfromtxt怎么办?谢谢该文件的格式如下所示: &SRS<MetaDataAtStart>multiple=TrueWaveleng...
2024-01-10
如何根据numpy中的条件拆分数组?
例如,我有一个ndarray是:a = np.array([1, 3, 5, 7, 2, 4, 6, 8])现在,我想a分为两部分,一个是所有数字<5,另一个是所有> = 5:[array([1,3,2,4]), array([5,7,6,8])]当然,我可以遍历a并创建两个新数组。但是我想知道numpy是否提供了一些更好的方法?类似地,对于多维数组,例如array([[1, 2, 3], [4, 5, 6], [7...
2024-01-10
用广播减去numpy中每一行的平均值
我尝试使用广播减去numpy中矩阵的每一行的平均值,但出现错误。知道为什么吗?这是代码:from numpy import *X = random.rand(5, 10)Y = X - X.mean(axis = 1)错误:ValueError: operands could not be broadcast together with shapes (5,10) (5,)谢谢!回答:该mean方法是 归约运算,表示将一维数字集合转换为单个数字。当您沿轴对...
2024-01-10
在Numpy中检查矩阵是否对称
我正在尝试使用(a,tol=1e-8)返回布尔值的参数制作一个函数,该值告诉用户矩阵是否对称(对称矩阵等于其转置矩阵)。到目前为止,我有:def check_symmetric(a, tol=1e-8):if np.transpose(a, axes=axes) == np.transpose(a, axes=axes): return Truedef sqr(s): rows = len(s) for row in sq: if len(row) != rows: ...
2024-01-10
使用numpy查找矩阵中所有元素为零的行
我的numpy矩阵很大M。矩阵的某些行的所有元素均为零,我需要获取这些行的索引。我正在考虑的天真的方法是遍历矩阵中的每一行,然后检查每个元素。但是,我认为有一种更好,更快的方法可以使用来完成此操作numpy。希望您能提供帮助!回答:这是一种方法。我认为numpy已使用导入import numpy as np。...
2024-01-10
通过索引将numpy数组中的值设置为NaN
我想在numpy数组中设置特定值NaN(以将它们从按行均值计算中排除)。我试过了import numpyx = numpy.array([[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [0, 0, 0, 0, 0, 0, 0, 0, 1, 0]])cutoff = [5, 7]for i in range(len(x)): x[i][0:cutoff[i]:1] = numpy.nan看着x,我只会看到-9223372036854775808我的期望NaN。我想到了一个替代方案:fo...
2024-01-10
在numpy.savetxt中设置fmt选项
我正在查看numpy.savetxt,并一直停留在该fmt选项上。我试着看这里,所有可以用于fmt选项排序的字母下面的链接中的引用也使我对正在发生的事情有一个大致的了解。我不明白的是如果%需要符号,在这里给出的示例中,我应该如何解释10.5数字?如果“f”是关于设置浮点的,那么它将变为10.5(然后,...
2024-01-10
在Numpy中将行向量转换为列向量
假设我有一个形状为(1,256)的行向量。我想将其转换为形状为(256,1)的列向量。您在Numpy中会如何做?回答:您可以使用操作来执行此操作:例:In [2]: a = np.array([[1,2], [3,4], [5,6]])In [5]: a.shapeOut[5]: (3, 2)In [6]: a_trans = a.T #or: np.transpose(a), a.transpose()In [8]: a_trans.shapeOut[8]: (2, 3)In [7]: a_tran...
2024-01-10
在numpy数组中向前填充NaN值的最有效方法
回答:作为一个简单的示例,请考虑arr以下定义的numpy数组:import numpy as nparr = np.array([[5, np.nan, np.nan, 7, 2], [3, np.nan, 1, 8, np.nan], [4, 9, 6, np.nan, np.nan]])其中,arr像这样在控制台输出:array([[ 5., nan, nan, 7., 2.], [ 3., nan, 1.,...
2024-01-10
如何获取numpy数组中重复元素的所有索引的列表?
我正在尝试获取numpy数组中所有重复元素的索引,但是我目前发现的解决方案对于大型(>20000个元素)输入数组(大约需要9秒钟的时间),实际上效率很低。这个想法很简单:records_array是一个时间戳(datetime)的numpy数组,我们要从中提取重复时间戳的索引time_array 是一个numpy数组,其中包含在中重...
2024-01-10
NumPy中的逐元素矩阵乘法
我正在第一次真正进军Python和NumPy进行图像处理。我将图像加载为3维NumPy数组,其中轴0代表图像带,而轴1和2代表像素的列和行。由此,我需要获取代表每个像素的3x1矩阵并执行一些操作,从而生成另一个3x1矩阵,该矩阵将用于构建结果图像。我的第一种方法(经过简化并使用随机数据)如下所示:imp...
2024-01-10
numpy:如何在numpy数组的每一列中查找第一个非零值?
假设我有以下形式的numpy数组:arr=numpy.array([[1,1,0],[1,1,0],[0,0,1],[0,0,0]])我想找到第一个索引(对于每一列)的索引,其中值非零。因此,在这种情况下,我希望返回以下内容:[0,0,2]我该怎么办?回答:首次出现的指标回答:(arr!=0).argmax(axis=0)扩展到涵盖通用轴说明符,并且在沿着该轴找不到元...
2024-01-10
从NumPy数组中选择特定的行和列
我一直在发疯,试图找出我在这里做错了什么愚蠢的事情。我正在使用NumPy,并且我想从中选择特定的行索引和特定的列索引。这是我的问题的要点:import numpy as npa = np.arange(20).reshape((5,4))# array([[ 0, 1, 2, 3],# [ 4, 5, 6, 7],# [ 8, 9, 10, 11],# [12, 13, 14, 15],# [16, 17, 18, 19]])# If I...
2024-01-10
numpy的:夹/切2D屏蔽数组
从掩蔽二维数组是这样的:(x = --)numpy的:夹/切2D屏蔽数组x x x x x 5 6 x x x x x x x 9 x 我怎样才能获得:(围边缘尽可能直到到达数)5 6 x x x 9 谢谢。回答:这应该做你想为一个通用的情况切片:import numpy as np si, se = np.where(~x.mask) x = x[si.min():si.max() + 1, se.min():se.max() + 1] 回答:使用切片:-...
2024-01-10
将具有不同长度的列表列表转换为numpy数组
我有不同长度的清单清单(例如[[1, 2, 3], [4, 5], [6, 7, 8,9]]),并想将其转换成numpy整数数组。我了解numpy多维数组中的“子”数组必须具有相同的长度。那么将上述示例中的列表转换成这样的numpy数组[[1,2, 3, 0], [4, 5, 0, 0], [6, 7, 8, 9]](即用零完成)的最有效方法是什么?回答:您可以使用np.zeros创建一个...
2024-01-10
提取一个numpy矩阵的前n列
我有一个像这样的数组: array([[-0.57098887, -0.4274751 , -0.38459931, -0.58593526], [-0.22279713, -0.51723555, 0.82462029, 0.05319973], [ 0.67492385, -0.69294472, -0.2531966 , 0.01403201], [ 0.41086611, 0.26374238, 0.32859738, -0.8084879...
2024-01-10
获取一个numpy数组的所有子序列
给定一个大小为numpy的数组n和一个整数,m我想生成m该数组的所有顺序长度子序列,最好是二维数组。例:>>> subsequences(arange(10), 4)array([[0, 1, 2, 3, 4, 5, 6], [1, 2, 3, 4, 5, 6, 7], [2, 3, 4, 5, 6, 7, 8], [3, 4, 5, 6, 7, 8, 9]])我能想到的最好方法是def subsequences(arr, m): n = arr.size #...
2024-01-10
numpy通过向量减去矩阵的每一行
所以我有一个 矩阵和一个 向量。我正在尝试编写代码以向量减去矩阵中的每一行。我目前有一个 循环遍历该循环,并 通过向量减去矩阵中的-th行。 谢谢!当前代码:for i in xrange( len( X1 ) ): X[i,:] = X1[i,:] - X2这是 矩阵的 第-行, 是向量。我可以这样做,这样就不需要 循环了吗?回答:在...
2024-01-10
numpy:检查值是否为NaT
nat = np.datetime64(‘NaT’) nat == nat >> FutureWarning: In the future, ‘NAT == x’ and ‘x == NAT’ will always be False.np.isnan(nat)>> TypeError: ufunc 'isnan' not supported for the input types, and the inputs could not be safely coerced to any suppor...
2024-01-10
不同的输出在稀疏表示相比于numpy的阵列
import numpy as np import scipy as sc from sklearn.preprocessing import normalize import scipy.sparse as sp import numpy import numpy as np import scipy.sparse as sp def func1(A,c,eps,maxiter): c=0.8 eps=1e-4 maxiter=20 n=sc.shape(A)[0] ...
2024-01-10
检查numpy数组是否是另一个数组的子集
在SO上已经问过类似的问题,但是它们有更具体的约束,其答案不适用于我的问题。一般来说,确定任意numpy数组是否是另一个数组的子集的最有效方法是什么?更具体地说,我有大约20000x3的数组,我需要知道完全包含在集合中的1x3元素的索引。更普遍地讲,是否有更Python化的方式编写以下代码:master...
2024-01-10
