我遵循了教程
import numpy
import theano
import theano.tensor as T
rng = numpy.random
N = 400 # training sample size
feats = 784 # number of input variables
# initialize the bias term
b = theano.shared(0., name="b")
print("Ini
给定一个numpy数组M,我想要计算这个数组的每两个矩阵组合的矩阵乘积M[i] @ M[j].T。在对该矩阵(乘积)应用了一些操作之后,我希望将结果存储在[i,j]位置的另一个矩阵中。有没有一种方法可以在不重复两个嵌套循环的情况下快速计算这个值?
也就是说,我想避免的(因为这实际上需要几个小时)是:
import numpy as np
M = np.random.rand(7000,3,3)
r = np.zeros((len(M), len(M)))
for i in range(len(r)):
for j in range(len(r[0])):
n = M
我试图计算这组实验数据的傅里叶变换。最后,我看到了0赫兹分量更高的数据。知道怎么移除这个吗?0赫兹分量到底代表什么?
#Program for Fourier Transformation
# last update 131003, aj
import numpy as np
import numpy.fft as fft
import matplotlib.pyplot as plt
def readdat( filename ):
"""
Reads experimental data from the file
""
我需要构建一个分段函数,它具有任意数量的间隔和函数,能够对输入的numpy数组进行操作。
我可以使用for循环和指示器数组来完成,如下面的代码片段所示,但是有更多的节奏式方法吗?
我尝试使用numpy.piecewise,但据我所知,段和函数的数量需要在源代码中静态地定义。
import numpy as np
import matplotlib.pyplot as plt
# inputs:
# -xs: points in which to compute the piecewise function
# -segments: the extremes of the pie
我有一个numpy操作,如下所示:
for i in range(i_max):
for j in range(j_max):
r[i, j, x[i, j], y[i, j]] = c[i, j]
x,y和c具有相同的形状。
是否可以使用numpy的高级索引来加快这一操作?
我试着用:
i = numpy.arange(i_max)
j = numpy.arange(j_max)
r[i, j, x, y] = c
然而,我没有得到预期的结果。
我正在修改,它可以绘制复杂值函数的图。此代码包括以下内容:
cimport numpy as cnumpy
def do_something():
# Buffer types only allowed as function local variables, so put
# this inside a function.
cdef cnumpy.ndarray[cnumpy.float_t, ndim=3, mode='c'] rgb
pass
mode='c' kwarg是做什么的?我不认为这是上的一个选项(或者在nump
我正在努力解决以下问题:我有一些非常大的矩阵(比如说,至少2000x2000,将来可能会达到10000x10000),而它们的秩(2或3,称为N)非常小,我需要找到一个有效的Python例程来提取线性独立的行(或列,矩阵是对称的!)从他们那里。我试图取QR分解的Q矩阵的前N列,但似乎不能正常工作(这可能是错误的?)。
下面是我用来实现Ami Tavory建议的方法的Python代码:
from numpy import absolute
from numpy.linalg import qr
q = qr(R)[1] #R is my matrix
q = absolute(q)
sums
我试图用numPy广播计算Rij = Aij /Cij。如果矩阵大小不相同(n×n),也会引发异常。
我不太确定这是正确的,还是我应该做元素智慧或矩阵智慧。有人能告诉我怎么做吗?
A = [[(i+j)/2000 for i in range(500)] for j in range(500)]
B = [[(i-j)/2000 for i in range(500)] for j in range(500)]
C = [[((i+1)/(j+1))/2000 for i in range(500)] for j in range(500)]
def matrix_R(A,B,C):
假设我有一个2d NumPy ndarray,如下所示:
[[ 0, 1, 2, 3 ],
[ 4, 5, 6, 7 ],
[ 8, 9, 10, 11 ]]
从概念上讲,我想做的是:
For each row:
Transpose the row
Multiply the transposed row by a transformation matrix
Transpose the result
Store the result in the original ndarray, overwriting the original row data
我有一个非
我用pip安装了numpy和熊猫。在执行我的python代码之后,它显示了以下错误:
Traceback (most recent call last):
File "demo.py", line 1, in <module>
import numpy as np
File "/home/tauhid/.local/lib/python3.6/site-packages/numpy/__init__.py", line 142, in <module>
from . import core
File "
下一个for-循环可以通过将其向下推到numpy来更快地完成吗?
ri = numpy.zeros((R.shape[0],R.shape[2]))
for i in range(R.shape[0]):
ri[i, :] = R[i, indices[i], :]
这与我先前的问题有关,该问题是为了加快这一步:
bestepsilons = numpy.zeros((R.shape[0]))
for i in range(R.shape[0]):
bestindex = numpy.nanargmin(R[i,:])
if(numpy.isnan(bestindex)
有没有函数可以在一个数值数组的任意维数上得到一个迭代器?
迭代第一个维度很容易……
In [63]: c = numpy.arange(24).reshape(2,3,4)
In [64]: for r in c :
....: print r
....:
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
[[12 13 14 15]
[16 17 18 19]
[20 21 22 23]]
但在其他维度上迭代会更困难。例如,最后一个维度:
In [73]: for r in c.swapaxes(2,0).swapaxes
我经常有两个numpy一维数组,x和y,并希望使用它们执行一些快速的滑雪拟合+预测。
import numpy as np
from sklearn import linear_model
# This is an example for the 1d aspect - it's obtained from something else.
x = np.array([1, 3, 2, ...])
y = np.array([12, 32, 4, ...])
现在我想做这样的事
linear_model.LinearRegression().fit(x, y)...
问题
这是一个非常简单的question.My,目的是最终创建一个Vandermonde矩阵,但首先我需要:
编写一个函数,该函数以实数α和整数n作为输入,并返回向量α(1,α,α2,…),αn−1)
到目前为止,我已经:
将numpy导入为np
n =6
a= 3
for i in range(n):
v = np.array([1, a**2, a**(n-1)])
print v
我得到:19243,这不是我想要的。你能帮忙吗,谢谢!
我在xarray数据集中有一些复杂的数据(numpy dtype complex128),我想用to_netcdf保存这些数据。我得到以下错误:
TypeError: illegal primitive data type, must be one of dict_keys(['S1', 'i1', 'u1', 'i2', 'u2', 'i4', 'u4', 'i8', 'u8', 'f4', 'f8']), got c
我想要计算从它的中心到整数格中每一个其他位置的距离,以及每个距离上的位置数。我目前正在使用以下代码来计算这个值:
x = numpy.arange(-10, 11, 1)
[X, Y] = numpy.meshgrid(x, x)
R = numpy.sqrt(X**2+Y**2)
R2 = numpy.ndarray.flatten(R)
R3 = numpy.unique(R2)
r = R3[1:] # excludes the 0
Nr = numpy.zeros(numpy.size(r))
for i in range(numpy.size(r)):
有人能给我看一下在列中筛选2个或更多选项的脚本吗?
例如:
A B C D E F G
1 x x x x x AAA
3 x x x x x BBB
4 x x x x x AAA
1 x x x x x CCC
4 x x x x x CCC
5 x x x x x AAA
我想一次过滤"AAA“和"BBB”。我试过:
import pandas as pd
import numpy as np
import openpyxl
from numpy.random import cho
我想用下面的数组为极坐标创建一个网格。
R = 1.15
r = numpy.linspace(R,5,100)
theta = numpy.linspace(0,2*numpy.pi,145)
我尝试了这种方式,使用numpy
X,Y=numpy.meshgrid(r*numpy.cos(theta),r*numpy.sin(theta))
但是我得到了这个错误:
ValueError: operands could not be broadcast together with shapes (100,) (145,)
如何生成网格并显示点?