
从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:检查值是否为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找出矩阵是否为正定
我需要找出矩阵是否为正定。我的矩阵是numpy矩阵。我期望在numpy库中找到任何相关方法,但没有成功。感谢您的帮助。回答:您还可以检查矩阵的所有特征值是否为正,如果是,则矩阵为正定:import numpy as npdef is_pos_def(x): return np.all(np.linalg.eigvals(x) > 0)...
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数组,例如:a = np.array([3, 2, 0, 1])这表示此排列(=>是箭头):0 => 31 => 22 => 03 => 1我正在尝试制作一个表示逆变换的数组,而没有在python中“手动”进行,也就是说,我想要一个 纯粹的 numpy解决方案。在上述情况下,我想要的结果是:array([2, 3...
2024-01-10
如何以numpy返回所有最小索引
阅读numpy中argmin函数的文档时,我有些困惑。看起来应该可以完成这项工作:读这个返回沿轴的最小值的索引。我可能会认为np.argmin([5, 3, 2, 1, 1, 1, 6, 1])将返回所有索引的数组: [3, 4, 5, 7]但是,它只会返回3。渔获量在哪里,或者我应该怎么做才能得到结果?回答:当您考虑多维数组时,该文档...
2024-01-10
如何从生成器构建numpy数组?
如何从生成器对象构建numpy数组?让我说明一下这个问题:>>> import numpy>>> def gimme():... for x in xrange(10):... yield x...>>> gimme()<generator object at 0x28a1758>>>> list(gimme())[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]>>> numpy.array(xrange(10))array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9...
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
我从另一个线程@EnricoGiampieri对累积分布图python的回答中获得了提示,我写道:# plot cumulative density function of nearest nbr distances# evaluate the histogramvalues, base = np.histogram(nearest, bins=20, density=1)#evaluate the cumulativecumulative = np.cumsum(values)# plot the cum...
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范围内采样随机浮点数
如何在numpy中以[a,b]间隔采样随机浮点数?不仅是整数,而且是任何实数。例如,random_float(5, 10)将在之间返回随机数[5, 10]。谢谢。回答:该均匀分布可能会做你的要求。np.random.uniform(5,10) # A single valuenp.random.uniform(5,10,[2,3]) # A 2x3 array...
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数组
我有一个包含一些元数据的文件,然后是包含2个带有标题的列的实际数据。在numpy中使用genfromtxt之前,是否需要将两种类型的数据分开?还是可以以某种方式拆分数据?将文件指针放在标题上方行的末尾,然后从那里尝试genfromtxt怎么办?谢谢该文件的格式如下所示: &SRS<MetaDataAtStart>multiple=TrueWaveleng...
2024-01-10
numpy.where的更快替代品?
我有一个3d数组,其中填充了从0到N的整数。我需要一个与该数组等于1、2、3,… N的位置对应的索引列表。我可以使用np.where进行如下操作:N = 300shape = (1000,1000,10)data = np.random.randint(0,N+1,shape)indx = [np.where(data == i_id) for i_id in range(1,data.max()+1)]但这很慢。根据这个问题 快速pythonnumpy在哪里功能?应该...
2024-01-10
用numpy和scipy插入三维体积
我非常沮丧,因为几个小时后我似乎无法在python中做一个看似简单的3D插值。在Matlab中所有我需要做的就是用numpy和scipy插入三维体积Vi = interp3(x,y,z,V,xi,yi,zi) 这是什么使用SciPy的的ndimage.map_coordinate或其他numpy的方法完全等效?由于回答:在SciPy的0.14或更高版本,有一个新的功能scipy.interpolate.RegularGrid...
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
回答:我已经检查了以下其他问题:如何在python shell中导入numpy从相对路径导入模块也许对某些人来说,这些人可能会回答我的问题,但是据我所知,我仍然不了解这种情况。我正在尝试导入numpy,以便matplotlib可以工作,但是在执行__init__.pynumpy文件夹中的文件时,显示以下错误消息:ImportError: ...
2024-01-10
检查numpy数组是否是另一个数组的子集
在SO上已经问过类似的问题,但是它们有更具体的约束,其答案不适用于我的问题。一般来说,确定任意numpy数组是否是另一个数组的子集的最有效方法是什么?更具体地说,我有大约20000x3的数组,我需要知道完全包含在集合中的1x3元素的索引。更普遍地讲,是否有更Python化的方式编写以下代码:master...
2024-01-10
创建从2D numpy的阵列的COO矩阵
我有一个2D numpy的阵列,其看起来像这样,创建从2D numpy的阵列的COO矩阵[[3, 4, 5, 6], [4, 5, 6, 7], [9, 10, 3, 5]] 我使用以下代码转换成COO矩阵这样的:# Flatten 2D array data = np.asarray(twod_array).flatten() row = np.arange(0, len(data)) col = np.arange(0, len(row)) # Make COO matrix mat = coo_mat...
2024-01-10
如何升级NumPy?
当我使用Homebrew(brew)安装OpenCV时,每当运行以下命令进行测试时,都会遇到此问题python-c "import cv2":RuntimeError: module compiled against API version 9 but this version of numpy is 6Traceback (most recent call last): File "<string>", line 1, in <module>ImportError: numpy.core.multiar...
2024-01-10
使用numpy查找矩阵中所有元素为零的行
我的numpy矩阵很大M。矩阵的某些行的所有元素均为零,我需要获取这些行的索引。我正在考虑的天真的方法是遍历矩阵中的每一行,然后检查每个元素。但是,我认为有一种更好,更快的方法可以使用来完成此操作numpy。希望您能提供帮助!回答:这是一种方法。我认为numpy已使用导入import numpy as np。...
2024-01-10
扩展numpy ndarray的好方法?
有没有好的方法来“扩展”一个numpy ndarray?说我有一个ndarray这样的:[[1 2] [3 4]]我希望每一行通过填充零来包含更多元素:[[1 2 0 0 0] [3 4 0 0 0]]我知道必须有一些蛮力的方法(比如用零构造一个更大的数组,然后从旧的较小的数组中复制元素),只是想知道是否有Python的方法。尝试过numpy.reshape但没...
2024-01-10
