【python 两数之和 II - 输入有序数组】教程文章相关的互联网学习教程文章

python – 删除NumPy数组中包含重复项的行【代码】

我有一个(N,3)numpy值数组:>>> vals = numpy.array([[1,2,3],[4,5,6],[7,8,7],[0,4,5],[2,2,1],[0,0,0],[5,4,3]]) >>> vals array([[1, 2, 3],[4, 5, 6],[7, 8, 7],[0, 4, 5],[2, 2, 1],[0, 0, 0],[5, 4, 3]])我想从数组中删除具有重复值的行.例如,上面数组的结果应该是:>>> duplicates_removed array([[1, 2, 3],[4, 5, 6],[0, 4, 5],[5, 4, 3]])我不知道如何在没有循环的情况下有效地使用numpy(数组可能非常大).谁知道我怎么能...

python – 有numpy argsort返回一个2d索引数组吗?【代码】

如果我们有一个1d数组arr = np.random.randint(7, size=(5)) # [3 1 4 6 2] print np.argsort(arr) # [1 4 0 2 3] <= The indices in the sorted order 如果我们有一个2d数组arr = np.random.randint(7, size=(3, 3)) # [[5 2 4] # [3 3 3] # [6 1 2]] print np.argsort(arr) # [[1 2 0] # [0 1 2] # [1 2 0]] <= It sorts each row我需要的是2d索引,它将整个矩阵排序.像这样的东西:# [[2 1] => 1 # [0 1] => 2 # [2 2] => 2 #...

python – Numpy重塑1d到2d数组,有1列【代码】

在numpy中,结果数组的维度在运行时会有所不同.1d数组和具有1列的2d数组之间经常存在混淆.在一种情况下,我可以遍历列,在另一种情况下,我不能. 你如何优雅地解决这个问题?为了避免使用if语句检查维度来乱丢我的代码,我使用这个函数:def reshape_to_vect(ar):if len(ar.shape) == 1:return ar.reshape(ar.shape[0],1)return ar然而,这感觉不优雅且昂贵.有更好的解决方案吗?解决方法:最简单的方法:ar.reshape(-1, 1)

python – 从文本文件中将数据读入numpy数组【代码】

我有一个包含一些元数据的文件,然后是一些由2列标题组成的实际数据.在numpy中使用genfromtxt之前,我是否需要分离这两种类型的数据?或者我可以以某种方式拆分数据吗?将文件指针放在标题上方的行尾,然后从那里尝试genfromtxt怎么样?谢谢该文件的格式如下所示:&SRS <MetaDataAtStart> multiple=True Wavelength (Angstrom)=0.97587 mode=assessment background=True issid=py11n2g noisy=True </MetaDataAtStart> &END Two Theta(...

python – 当numpy包含多个dtypes时,numpy如何确定数组数据类型?【代码】

我试图在numpy上做手,我在以下数据类型时进行调整使用内置方法dtype.以下我得到的一些结果.你能解释一下u11的含义吗?a1 = np.array([3,5,'p']) print(a1.dtype)o / p => U11解决方法:Numpy的PyArrayObject类型的数组对象具有NPY_PRIORITY属性,该属性表示在包含具有异构数据类型的项的情况下应该被视为数组的dtype的类型的优先级.您可以使用PyArray_GetPriority API访问此优先级,如果不存在该名称的属性,则返回obj或def的__array_p...

python – numpy数组的形状【代码】

现在和numpy一起工作了一段时间.就在我认为我已经找到数组的时候,它又引发了另一条曲线.例如,我构建了3D数组pltz,然后>>> gridset2 = range(0, pltx.shape[2], grdspc) >>> pltz[10,:,gridset2].shape (17, 160) >>> pltz[10][:,gridset2].shape (160, 17)为什么地球上的两种形状不同?解决方法:由于索引表达式同时包含:和列表,因此NumPy需要应用基本索引规则和高级索引规则,并且它们的交互方式有点奇怪.相关文档是here,如果您想了...

python – 将unicode元素读入​​numpy数组【代码】

考虑一个名为“new.txt”的文本文件,其中包含以下元素:μm ?r ?λ在Python 2.7中,我可以通过键入以下内容来读取文件:>>> import codecs >>> f = codecs.open('new.txt', encoding='utf-8') >>> lines = [line.strip() for line in f2.readlines()] >>> lines [u'\u03bcm', u'\u2202r', u'\u2206\u03bb'] >>> print lines[0] μm到现在为止还挺好.我可以通过以下方式轻松将此列表转换为numpy数组:>>> import numpy as np >>> arr...

如何将不同类型的数据从文件导入Python Numpy数组?【代码】

假设我有一个文件myfile.txt包含:1 2.0000 buckle_my_shoe 3 4.0000 margery_door如何将数据从文件导入numpy数组作为int,float和string? 我的目标是:array([[1,2.0000,"buckle_my_shoe"], [3,4.0000,"margery_door"]])我一直玩弄以下无济于事:a = numpy.loadtxt('myfile.txt',dtype=(numpy.int_,numpy.float_,numpy.string_))编辑:另一种方法可能是使用ndarray类型并转换后.b = numpy.loadtxt('myfile.txt',dtype=numpy...

python – 从NumPy数组到Mat(OpenCV)的C转换【代码】

我正在围绕ArUco增强现实库(基于OpenCV)编写一个薄的包装器.我想要构建的接口非常简单: > Python将图像传递给C代码;> C代码检测标记并将其位置和其他信息作为dicts元组返回给Python. 但是,我无法弄清楚如何在Python中表示图像以将其传递给C.对于GUI和相机管理,我将使用PyQt,所以最初它将是QImage,但我不能简单地将它传递给OpenCV(或者我可以?).起初,我尝试使用嵌套元组来表示每个像素的行,列和颜色,所以我最终得到了这个示例代码...

python – Gensim:TypeError:doc2bow期望输入的unicode标记数组,而不是单个字符串【代码】

我从一些python任务开始,我在使用gensim时遇到了问题.我试图从我的磁盘加载文件并处理它们(拆分它们和小写()它们) 我的代码如下:dictionary_arr=[] for file_path in glob.glob(os.path.join(path, '*.txt')):with open (file_path, "r") as myfile:text=myfile.read()for words in text.lower().split():dictionary_arr.append(words) dictionary = corpora.Dictionary(dictionary_arr)列表(dictionary_arr)包含所有文件中所有单...

python – 将NumPy数组转换为set需要太长时间【代码】

我正在尝试执行以下操作from numpy import * x = array([[3,2,3],[711,4,104],.........,[4,4,782,7845]]) # large nparray for item in x:set(item)与以下相比需要很长时间:x = array([[3,2,3],[711,4,104],.........,[4,4,782,7845]]) # large nparray for item in x:item.tolist()为什么将NumPy数组转换为集合而不是列表需要更长的时间?我的意思是基本上都有复杂度O(n)?解决方法:TL; DR:set()函数使用Pythons迭代协议创建...

python – 如何访问2D数组中的元素?【代码】

我是python的新手,我想了解一个人如何操纵数组的元素.如果我有例如:a= ( a11 a12 a13 ) and b = (b11 b12 b13) a21 a22 a23 b21 b22 b23我在python中定义了它们,例如:a=[[1,1],[2,1],[3,1]] b=[[1,2],[2,2],[3,2]]我看到我不能参考[1] [1]而是参考[1],它给出了[2,1]的结果.所以,我不明白如何访问这些数组的第二行?那将是a21,a22,a23,b21,b22,b23?我怎么做才能将它们乘以c1 = a21 * b21,c2 = a22 * b22等?解决方法...

如何在python中按行排序2d数组?【代码】

我有2d数组,维度310,我想按第2行中的值排序,从最低值到最高值.解决方法:Python本身没有“2d数组” – 它在标准库模块array中有(1d)列表作为内置函数和(1d)数组.有第三方库如numpy提供Python可用多维数组,当然如果你使用其中的一些,你会提到这样的第三方库,而不只是说“在Python中”,对吗? – ) 所以我假设“2d数组”是指列表列表,例如:lol = [ range(10), range(2, 12), range(5, 15) ]等等 – 即具有3个项目的列表,每个项目是具...

连续的,重叠的数组子集(NumPy,Python)【代码】

我有一个NumPy阵列[1,2,3,4,5,6,7,8,9,10,11,12,13,14],并希望有一个像[[1,2,3, 4],[2,3,4,5],[3,4,5,6],…,[11,12,13,14]]. 当然这可以通过循环大数组并将长度为4的数组添加到新数组中,但我很好奇是否有一些秘密的’魔术’Python方法正在做这个:)解决方法:最快的方法似乎是预分配数组,在本答案的底部作为选项7给出.>>> import numpy as np >>> A=np.array([1,2,3,4,5,6,7,8,9,10,11,12,13,14]) >>> A array([ 1, 2, 3, 4, 5, ...

为什么在Python列表上的“for”比在Numpy数组上更快?【代码】

所以我没有讲一个很长的故事,我正在研究一些代码,我从二进制文件中读取一些数据,然后使用for循环遍历每一个点.所以我完成了代码,它的运行速度非常慢.我从大约128个数据通道循环了大约60,000个点,这需要一分钟或更长时间来处理.这比我预期的Python运行速度要慢.所以我通过使用Numpy使整个事情变得更有效率但是在试图弄清楚为什么原始进程运行得如此之慢以至于我们进行了一些类型检查并发现我在循环Numpy数组而不是Python列表.好吧没...

输入 - 相关标签