假设我在0到1的范围内有一个2D Numpy值数组,它代表一个灰度图像.然后我如何将其转换为PIL图像对象?迄今为止的所有尝试都产生了极其奇怪的散乱像素或黑色图像.for x in range(image.shape[0]):for y in range(image.shape[1]):image[y][x] = numpy.uint8(255 * (image[x][y] - min) / (max - min))#Create a PIL image. img = Image.fromarray(image, 'L')在上面的代码中,numpy数组图像通过(image [x] [y] – min)/(max – min...
我知道如何使用numpy.savetxt将数组写入文件.如何将多个数组写入同一个文件? 基本上我想对一列数字进行数学运算,然后用修改后的数字替换旧列.我读到最简单的方法是完全编写一个新文件,将修改后的数字放入,然后“复制并粘贴”文件中的其他数字. 任何帮助表示赞赏. 谢谢!解决方法:如果您想将多个数组写入文件供以后使用,请查看numpy.savez. 但是,根据您的描述,听起来您想要对分隔文本文件的特定列执行某些操作. 在这种情况下,只需加...
我尝试使用广播减去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,) 谢谢!解决方法:均值方法是简化操作,这意味着它将1-d数字集合转换为单个数字.当您沿着轴对n维数组应用缩小时,numpy会将该维度折叠为缩小值,从而生成(n-1)维数组.在您的情况...
我正在尝试创建一个NumPy数组,该数组随后会被某些日期时间值填充.我似乎无法使其发挥作用.import numpy as np t = np.empty(3,dtype='datetime64') t我得到一个TypeError:元数据中的无效日期时间单位“generic”.如果我尝试相同:import numpy as np t = np.empty(3,dtype='datetime64') t[0] = np.datetime64('2014-12-12 20:20:20')我明白了:TypeError : Cannot cast numpy timedelta64 scalar from metadata [m] to accordin...
在测试期间,我注意到一些奇怪的事 我正在对很多向量进行FFT,并且有时会出现numpy FFT函数崩溃的情况. 我简要地调试了这一点,发现一些矢量长度触发了这种行为. 通过事件,我保持一个脚本运行,令我惊讶的是,它没有崩溃,只是花了一点时间. 有没有人知道发生了什么,以及如何反击这一点.我已经看到了许多不同的FFT大小,下面只是一个例子.import numpy as np import timea = np.zeros(166400) start = time.time() audio_fft = np.fft...
我有一些我想要使用的图像,问题是有两种图像都是106 x 106像素,一些是彩色的,一些是黑色和白色. 一个只有两(2)个维度: (106106) 和一个三(3) (106,106,3) 有没有办法可以去掉这最后一个维度? 我试过np.delete,但它似乎没有用.np.shape(np.delete(Xtrain[0], [2] , 2)) Out[67]: (106, 106, 2)解决方法:您可以使用numpy的花式索引(Python内置切片表示法的扩展):x = np.zeros( (106, 106, 3) ) result = x[:, :, 0] print(result....
我试图用这个数据构建一个33转换矩阵days=['rain', 'rain', 'rain', 'clouds', 'rain', 'sun', 'clouds', 'clouds', 'rain', 'sun', 'rain', 'rain', 'clouds', 'clouds', 'sun', 'sun', 'clouds', 'clouds', 'rain', 'clouds', 'sun', 'rain', 'rain', 'sun','sun', 'clouds', 'clouds', 'rain', 'rain', 'sun', 'sun', 'rain', 'rain', 'sun', 'clouds', 'clouds', 'sun', 'sun', 'clouds', 'rain', 'rain', 'rain', 'rain', 'su...
我正在模拟Riemann theta函数:import numpy as np def theta(s, n=100):a_range = np.arange(2, n + 1)return 1 + sum(1/(a_range ** s))它不适用于否定;例如theta(-2)导致此错误:1 def theta(s, n=100):2 a_range = np.arange(1) ----> 3 return 1 + sum(1/(a_range ** s))4 5 theta(-2)ValueError: Integers to negative integer powers are not allowed.为什么?如果我正确地回忆起我的数学,x ^ -1应该只是1 / x.解决...
我有一个2D numpy数组,其中一些值为零,有些则不是.我试图找到一种有效的方法来找到数组中最大的零块(通过返回零的数量,以及对中心位置的粗略概念) 例如,在这个数组中,我想找到9的丛,中心为(3,4):[[ 1, 1, 1, 0, 0 ],[ 1, 0, 1, 1, 0 ],[ 1, 1, 1, 1, 1 ],[ 1, 1, 0, 0, 0 ],[ 1, 1, 0, 0, 0 ],[ 1, 1, 0, 0, 0 ]]是否有一个很好的矢量化方式来在numpy或scipy中完成这样的事情? 这些团块的形状大致为圆形,并且没有孔. 来自scipy的...
我有一个函数,我想快速访问给定Numpy数组的第一个(也称为第零个)元素,它本身可能有任意数量的维度.最快的方法是什么? 我目前正在使用以下内容:a.reshape(-1)[0]这将可能多维度的数组重新整形为一维数组,并抓住第零个元素,这个元素短,甜,通常很快.但是,我认为这对于某些数组来说效果不佳,例如,一个数组是大数组的转置视图,因为我担心这最终需要创建一个副本,而不仅仅是原始数组的另一个视图,按顺序以正确的顺序获得一切. (这是对的...
当我尝试将ctypes数组用作numpy数组时,我收到以下警告消息:Python 2.7.1 (r271:86832, Nov 27 2010, 18:30:46) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import ctypes, numpy >>> TenByteBuffer = ctypes.c_ubyte * 10 >>> a = TenByteBuffer() >>> b = numpy.ctypeslib.as_array(a) C:\Python27\lib\site-packages\numpy\ctypeslib.py:402: RuntimeW...
我有一个numpy数组列表和一个numpy数组.我想检查单个数组是否是列表的成员. 我想有一种方法,我没有正确搜索…这就是我想出的:def inList(array, list):for element in list:if np.array_equal(element, array):return Truereturn False这个实现是否正确?这有什么功能吗?解决方法:使用动词是在谈论python时有点含糊不清.这个例子涵盖了我能想到的所有案例:from __future__ import print_function from numpy import array, arra...
必须有一种(非常)快速有效的方法来从一个numpy数组中获取元素,或者从一个片段中获得更有趣的元素.假设我有一个numpy数组:import numpy as np a = np.arange(-10,10)现在,如果我有一个清单:s = [9, 12, 13, 14]我可以选择以下元素:a[s] #array([-1, 2, 3, 4])我怎么能有一个(numpy)数组由[s]中满足条件的元素组成,即是正数(或负数)?应该结果np.ifcondition(a[s]>0, a[s]) #array([2, 3, 4])它看起来微不足道,但我无法找到...
以下代码取自heresa = sort(a[i:i+block]) n += np.r_[sa.searchsorted(bins[:-1], 'left'),sa.searchsorted(bins[-1], 'right')]所以我知道searchsorted找到数组sa中的位置,其中必须插入二进制元素以保持sa排序(左边给出了我们插入值和右边索引的左侧的索引).我不明白的是它周围的整个建筑意味着什么np.r_[array,array]什么是np.r_?解决方法:它的作用是逐行合并. This post有一个很好的例子:>>>V = array([1,2,3,4,5,6 ]) >>>Y ...
我有一组灰度图像作为2D numpy数组. 我需要围绕不同的浮动角度的一个点(在它们内部)旋转图像.旋转不需要到位,我将允许(当然,如果我到目前为止解释得很好)进行插值. 我想保持笨拙,因为我需要对结果进行数值运算,但我也可以(如果那是不可能的话)允许进/出;例如我尝试使用PIL,即Image.rotate(theta)但不明白如何将其应用于我的数组,以及如何获取数组. 谢谢您的意见.解决方法:请参阅11月10日11:10 cgohlke的评论: 考虑scipy.ndimage.i...