【python – 将Matrix理解为List列表,然后是Numpy Array】教程文章相关的互联网学习教程文章

python – Numpy inpaint nans插值和外推【代码】

我正在研究一个使用numpy和scipy的项目,我需要填写nanvalues.目前我使用scipy.interpolate.rbf,但它一直导致python崩溃,所以严重尝试/除了甚至不会保存它.然而,在运行几次之后,似乎它可能会在中间数据被所有nans包围的情况下继续失败,例如岛屿.有没有更好的解决方案,不会崩溃? 顺便说一句,这是我需要推断的大量数据.有时多达一半的图像(7070,灰度),但它不需要是完美的.它是图像拼接程序的一部分,因此只要它与实际数据类似,它就可以...

python – 在numpy数组中查找负值和正值【代码】

我有一个numpy数组包含m / s风速数据.负值和正值都有.现在我需要计算风速的平均数量超过负值,并对正值进行相同的计算.这可能吗 ?数据保留在数组中非常重要.我曾尝试使用numpy.average,但没有成功,因为他将整个数组的平均值都作为正值和负值. 谢谢!解决方法:关于numpy的好处是你可以写下这样的东西:negavg = numpy.mean(windspeed[windspeed < 0.0])posavg = numpy.mean(windspeed[windspeed > 0.0])

高维中的Python Numpy矩阵乘法【代码】

我试图在numpy中寻找矩阵运算,这将加速以下计算. 我有两个3D矩阵A和B.第一个维度表示示例,并且它们都有n_examples示例.我想要实现的是在A和B中对每个例子加点产品并对结果求和:import numpy as npn_examples = 10 A = np.random.randn(n_examples, 20,30) B = np.random.randn(n_examples, 30,5) sum = np.zeros([20,5]) for i in range(len(A)):sum += np.dot(A[i],B[i])解决方法:这是np.tensordot()的典型应用程序:sum = np.te...

python – 如何通过scipy / numpy或sympy实现第一种球形hankel功能?

我知道scipy中没有内置的sph_hankel1然后我想知道如何以正确的方式实现它? 附加:只需使用Scipy或Sympy向我展示一个正确的sph_hankel1实现.解决方法:关于在SymPy中实现它,有一个关于如何实现特殊功能here的指南.我们希望拉出对众所周知的特殊功能的请求. 对于数值例程,它们在mpmath中实现.它在looks like中直接使用定义.

python – numpy.array与不同形状的元素【代码】

我想拥有另外两个阵列的numpy数组(每个数组都有不同的形状).据我所知,出于这个原因,必须在主数组的定义中使用:dtype = object. 例如,让我们将(在Python 2.7中)我们的数组定义为a0 = np.arange(2*2).reshape(2,2)a1 = np.arange(3*3*2).reshape(3,3,2)b = np.array([a0,a1], dtype = object)这很完美:b [1]与a1相同.但是,如果我将a0中的维度从(2,2)更改为(3,3),则会发生奇怪的事情:a0 = np.arange(3*3).reshape(3,3)a1 = np.aran...

python – 将行添加到空的2D NumPy数组中【代码】

我想从一个空的2D NumPy数组开始,然后添加一些行.但是,到目前为止,我只能用一维数组做到这一点.这是我到目前为止所尝试的:a = numpy.array([]) a = numpy.append(a, [1, 2]) a = numpy.append(a, [8, 8]) print a我得到的输出是:[1, 2, 8, 8]而我希望输出为:[[1, 2], [8, 8]]我怎样才能做到这一点?解决方法:试试这个:>>> a = numpy.empty((0,2),int) >>> a = numpy.append(a, [[1, 2]], axis=0) >>> a = numpy.append(a, [[8,...

python – Numpy数组错误或功能(在幕后捕捉到int)?【代码】

今天我注意到了Numpy / Scipy数组的奇怪行为.看起来像在float中添加带整数的数组单元格可能有两种不同的结果,具体取决于分配结果的变量.而不是长篇解释,下面我提出代码:import scipy as sp array_int = sp.array([[0], [0]]) float_operand = 0.1 print array_int[0, 0] + float_operand #gives 0.1但import scipy as sp array_int = sp.array([[0], [0]]) float_operand = 0.1 array_int[0, 0] = array_int[0, 0] + float_operan...

python – numpy.array_split()奇怪的行为【代码】

我正在尝试将具有周期数据的大数据帧拆分成具有相等或接近相等的周期长度的较小数据帧. Array_split工作得很好,直到我的数据不允许相等的分割(500,000个循环工作正常,但不是1,190,508).我希望这些部分以1000个周期为增量(最后一帧除外). 这是场景:d = { 'a': pd.Series(random(1190508)), 'b': pd.Series(random(1190508)), 'c': pd.Series(random(1190508)), }frame = pd.DataFrame(d)cycles = 1000 sections = math.ceil(len(...

python – Numpy沿新轴重复箭头【代码】

什么是最好/最高效的方式? x是数组,n是我想要重复的次数:np.repeat(x[None,...], n, axis=0)要么ones = [1] * len(x.shape) np.tile(x, tuple(n, *ones))请注意,对于已知的数组大小,后者变得简单:np.tile(x, (n, 1, 1)) # x is 2D解决方法:np.tile的部分代码是:for i, nrep in enumerate(tup):if nrep!=1:c = c.reshape(-1, n).repeat(nrep, 0)换句话说,它在每个轴上重复多次重复.效果是重复到多个轴的概括. 所以我希望时间相...

python – 每当调用rand()时,是否会自动调用numpy.random.RandomState()?【代码】

像C这样的语言要求程序员设置随机数生成器的种子,否则它的输出将始终相同.但是,像numpy这样的库不需要您手动初始化种子. 例如,代码如:from numpy.random import rand rand()每次给出不同的结果. 这是否意味着每次调用rand时都会调用numpy.random.RandomState(seed = None)?解决方法:Does that mean numpy.random.RandomState(seed=None) is called every time you call rand?不,这意味着RandomState在启动时播种一次.如果每次调用...

python – 将rpy2与numpy.testing一起使用时的ImportError【代码】

使用numpy.testing模块进行单元测试时,我遇到了一个相当奇怪的错误.我在VM中运行iPython笔记本.在我的代码中,我有一个测试,我将输出与R中的输出进行比较.这要求我像这样加载rpy2模块:import rpy2.robjects as robjects from rpy2.robjects.packages import importr fastclime = importr('fastclime') grdevices = importr('grDevices')但是当我跑的时候! py.test,我收到以下错误: ====================================错误====...

python – NumPy:用于切片列表的1D numpy数组【代码】

如何提取与1D numpy.ndarray中包含的索引相对应的列表元素? 这是一个例子:list_data = list(range(1, 100)) arr_index = np.asarray([18, 55, 22]) arr_index.shapelist_data[arr_index] # FAILS我希望能够检索与arr_index相对应的list_data元素.解决方法:你可以使用numpy.take – import numpy as np np.take(list_data,arr_index)样品运行 – In [12]: list_data = list(range(1, 20))In [13]: list_data Out[13]: [1, 2, 3,...

python – AttributeError:’numpy.ndarray’对象没有属性’items’【代码】

对于以下代码,我收到了标题中的错误:import scipy.io as sio import numpy as nptemp = np.load('temp.npy') sio.savemat('final.mat',temp)尽管AttributeError是python中的常见错误,但我没有找到标题中提到的“items”有用的东西.我们该如何解决这个问题?解决方法:它需要一个dict作为第二个参数而不是数组: 从docs: mdict:dictDictionary from which to save matfile variables.我不太熟悉,但我想你把名称作为键,数组作为值传...

python – 将嵌套循环计算转换为Numpy以获得加速【代码】

我的Python程序的一部分包含以下代码,其中包含一个新网格根据旧网格中的数据计算. 网格我是浮动的二维列表.代码使用三个for循环:for t in xrange(0, t, step):for h in xrange(1, height-1):for w in xrange(1, width-1):new_gr[h][w] = gr[h][w] + gr[h][w-1] + gr[h-1][w] + t * gr[h+1][w-1]-2 * (gr[h][w-1] + t * gr[h-1][w])gr = new_grreturn gr对于大型网格和大时间t,代码极其缓慢. 我试图通过替换内循环来使用Numpy来加速...

python – 填充numpy数组的对角线失败【代码】

我正在尝试填充矩阵的偏移对角线:loss_matrix = np.zeros((125,125))np.diagonal(loss_matrix, 3).fill(4)ValueError: assignment destination is read-only两个问题: 1)如果不迭代索引,如何设置numpy数组的偏移对角线? 2)为什么np.diagonal的结果只读? numpy.diagonal的文档读取:“在NumPy 1.10中,它将返回读/写视图,写入返回的数组将改变原始数组.”np.__version__'1.10.1'解决方法:根据NumPy问题跟踪器上的discussion判断,...