【python-Numpy.eig和PCA中的方差百分比】教程文章相关的互联网学习教程文章

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判断,...

python – 为什么numpy不允许scalars进行数组乘法?【代码】

我假设@是点方法的简写.什么促使设计决定阻止带有shape()的数组的乘法?In [6]: a = np.ones((2,1))In [7]: a.dot(1) Out[7]: array([[ 1.],[ 1.]])In [8]: a @ 1 --------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-8-398cff4c0ec9> in <module>() ----> 1 a @ 1ValueError: Scalar operands are not al...

让我们为python的numpy做一个N维像素分组/分组的参考实现【代码】

我经常想要pixel bin/pixel bucket一个numpy数组,意思是用一个像素替换N个连续像素的组,这个像素是N个替换像素的总和.例如,从值开始:x = np.array([1, 3, 7, 3, 2, 9])桶大小为2时,转换为:bucket(x, bucket_size=2) = [1+3, 7+3, 2+9] = [4, 10, 11]据我所知,没有专门做这个的numpy功能(请纠正我,如果我错了!),所以我经常推出自己的.对于1d numpy数组,这不错:import numpy as npdef bucket(x, bucket_size):return x.reshape(...

python – 在3d numpy数组中查找区域的中心坐标【代码】

我有一个大的numpy 3d数组(10000,3,3).其中我想找到每个区域的中心坐标(具有相同数字的簇).每个子阵列可以具有1,2,3或4个区域. 我的数组的一个子集是:largearray= array([[[1, 0, 0],[0, 0, 2],[3, 0, 2]],[[0, 0, 4],[0, 0, 4],[0, 0, 4]],[[5, 0, 0],[5, 0, 6],[0, 6, 6]],[[7, 0, 8],[0, 0, 0],[9, 0,10]]])我想要的输出是子阵列的位置以及代表中心的x和y坐标:#output: array([[ 0., 0., 0.], [ 0., 1.5, 2.], [ 0., 2., 0.],...