【python – 如何根据参数创建一个切片数组的函数】教程文章相关的互联网学习教程文章

Python中的N维线性插值(使用基本原理索引评估数组)

让我们假设我有一个带有ar.shape =(n1,…,nN)的N维数组ar.是否有一个python模块允许在理论索引中评估ar? 举个例子,假设:ar.shape =(3,4,5).然后我正在寻找一个函数f来做到这一点:结果= f(ar,[2.3,1.5,3.4])解决方法:来自scipy docs:scipy.interpolate.griddata:Interpolate unstructured N-dimensional data.

python – 制作没有numpy的多维数组的好方法【代码】

我需要一些方法来跟踪布尔标志的四维数组.只是真/假值.似乎numpy是执行此类操作的规范方式,但安装似乎比我真正想要处理的更复杂. (我需要在多个操作系统环境中工作.) 那么,是否有一种简单的方法,或简单的模块,可以让我存储和从四维数组中获取真/假值而不需要挖掘自己比海洋更深的一堆意大利面? 我可以列出列表列表,但这看起来很笨拙.解决方法:如果数组是稀疏的(罕见的真值);你可以使用collections.defaultdict:from collections ...

python – 根据圆的面积更改numpy数组中的值【代码】

上下文 我需要在python中测量组合圆的面积.我想出了使用numpy数组的方法.首先,我用零填充网格(numpy数组),网格中的每个位置对应0.5cm的长度.然后我将圆心放到网格上,并在网格中将此值更改为1.我知道圆的半径,所以我可以计算圆的面积,因为我知道圆的面积我改变了网格中零点的区域.然后我计算网格中的一些频率并使用它来计算组合圆的面积,因为我知道网格中每个位置的长度我可以计算面积.这是目前非常粗糙的方法,我计划在算法确定后将...

python – 将bz2压缩二进制文件导入为numpy数组【代码】

我有一个包含数据数组的bz2压缩二进制(big endian)文件.使用外部工具解压缩然后将文件读入Numpy工作:import numpy as np dim = 3 rows = 1000 cols = 2000 mydata = np.fromfile('myfile.bin').reshape(dim,rows,cols)但是,由于还有很多其他类似的文件,我无法事先单独提取每个文件.因此,我发现Python中的bz2模块可能能够在Python中直接解压缩它.但是我收到一条错误消息:dfile = bz2.BZ2File('myfile.bz2').read() mydata = np.fr...

python – 如何在1D和nD数组之间广播以获得(1 n)D数组输出?【代码】

我有一个n维ndarray z0和一维ndarray za.尺寸不以任何方式彼此对应.我希望能够创建一个新的n 1维数组z,其中z [i] = z0 za [i].是否有一些简单的方法来做广播? 这不等于this question.如果z0是2D,这可以很容易地实现如下:z0[np.newaxis]+norm.ppf(alphas)[:,None]但是,无论z0的维度如何,我都需要能够这样做,因此只需添加正确数量的None或np.newaxis术语就行不通了.解决方法:怎么样:z = za.reshape(za.shape + (1,)*z0.ndim) + z0...

python – 类中的Numpy数组赋值【代码】

我使用Python 3.2.3与NumPy 1.6.1.如果有人能解释我在尝试访问(以两种不同的方式)NumPy数组的元素时NumPy做了什么,我将非常感激. 码:import numpy as npclass MyClass:def __init__(self,q):self.coord = qself.firstel = q[0]self.secondel = q[1:2]q = np.array([10,20]) # numpy array my_object = MyClass(q) # object of MyClassprint('original','q:',q,' / coord:',my_object.coord,' / 2elements:',my_object.firstel,...

在python中从n个子数组副本创建一个数组【代码】

有没有更有效的方法(或至少pythonic)来堆叠n个副本的子阵列,以创建一个新的数组?import numpy as npx = np.arange(4) for i in range(n-1):x = hstack((x,arange(4)))谢谢,解决方法: In [34]: x = np.arange(4)In [35]: np.tile(x,(3,1)) Out[35]: array([[0, 1, 2, 3],[0, 1, 2, 3],[0, 1, 2, 3]])但要小心 – 你可能能够使用broadcasting而不是一遍又一遍地重复同一行. 例如,假设您有一些形状数组(3,4):In [40]: y = np.arang...

python – 为2D Numpy数组逐行插值【代码】

我有两个numpy数组:x = np.array([1,2,3,4,5]) y = np.array([10,20,30,40,50])我试图得到的是这样的:array([[ 1. , 3.25, 5.5 , 7.75, 10. ],[ 2. , 6.5 , 11. , 15.5 , 20. ],[ 3. , 9.75, 16.5 , 23.25, 30. ],[ 4. , 13. , 22. , 31. , 40. ],[ 5. , 16.25, 27.5 , 38.75, 50. ]])我的方法不是很像Numpy,需要改进(摆脱for循环)非常大的数组:myarray = np.zeros((5,5)) for idx...

python – 基于一维中的唯一元素过滤numpy结构化数组【代码】

所以我有一个相当大(200k行)的结构化数组:recordtype = np.dtype([('x',np.float32),('y',np.float32),('z',np.float32), ('u',np.float32),('v',np.float32),('w',np.float32), ('d',np.float32),('T',np.float32),('mdot',np.float32), ('f',np.float32),('t',np.float32),('name',np.str_,14)]) data = np.loadtxt('tmp2.out',dtype=recordtype,skiprow...

python – 用其他数组填充二维数组的一维【代码】

我有两个清单:a=[[10, 0], [12,1], [13, 8], [2, -3]] b=[1, 2, -30, 404]我想将a [*] [1]值替换为b中的值,以便我的结果如下所示:[[10, 1], [12, 2], [13, -30], [2, 404]]一个明显的方式(对我来说,真的是一个C程序员)将是这样的:for i in range(len(a)):a[i][1]=b[i]但不知何故,这感觉不是非常pythonic. 我怎么用pythonic方式做到这一点? 另外,b列表可以具有比a更多或更少的元素.如果少,则a中的剩余元素应保持不变.a=[[10, 0]...

python – 按两个条件过滤的Numpy数组【代码】

我正在尝试运行自定义kmeans聚类算法,并且无法按群集获取2-d numpy数组的每列(term)的文档频率.我当前的算法有两个numpy数组,一个原始数据集按术语[2000L,9500L]列出文档,一个是聚类赋值[2000L,].共有5个集群.我需要做的是创建一个列出每个集群的文档频率的数组 – 基本上是列数与不同数组中的行号匹配的每列中的计数.输出将是[5L,9500L]阵列(簇x项).我很难找到一种方法来做相当于一个countif和group by.下面是一些示例数据和我想要...

python – 图像的轮廓图给出:TypeError输入必须是2D数组错误【代码】

我正在使用Debian Linux和python 2.7.我正在阅读图像并尝试处理它但我显示以下错误.有人可以告诉我我做错了什么吗?import Image import scipy from scipy import ndimage import matplotlib.pyplot as plt import numpy as np from scipy import misc import scipy.miscimg = scipy.misc.imread("/home/subhradeep/Desktop/test.jpg") array=np.asarray(img) plt.figure(figsize=(10, 3.6))plt.subplot(131) plt.imshow(array, cm...

c – 用boost.python交换numpy数组:pyublas或boost.numpy?【代码】

我正在通过py++/boost.python将C数据密集库与Python连接起来.在对我的程序进行概要分析后,我发现70%的运行时间花费在这样的代码上:ni = range(v2o.getHits()) tau = np.array([v2o.TofCorrectedTime[i] for i in ni]) q = [v2o.getCharge()[i] for i in ni]v2o.TofCorrectedTime从py输入__array_1_float_2368. v2o.getCharge()也是从py类型_impl_details_range_iterator_.大小约为2000,从这些py数组包装器到numpy的转换很慢:In ...

python – 生成随机3元素Numpy整数数组,总和为3【代码】

我需要用随机整数填充三个元素的numpy数组,使得数组的总和为3(例如[0,1,2]). 据我估算,有10个可能的数组: 111,012,021,102,120,201,210,300,030,003 我的想法是使用randint随机生成1到10之间的整数,然后使用查找表从上面的组合列表中填充数组. 有谁知道更好的方法?解决方法:我是这样做的:>>> import numpy as np >>> a=np.array([[1,1,1],[0,1,2],[0,2,1],[1,0,2],[1,2,0],[2,0,1],[2,1,0],[3,0,0],[0,3,0],[0,0,3]]) >>> a[np....

python – Numpy数组,填充单个列的空值【代码】

我有一个numpy数组,它是使用python列表中的np.array()生成的,所以我的条目是字符串,但有些值是空白的.这是一个示例数组:['1', '1', '1', '1'] ['1', '1', '', '1'] ['1', '1', '1', '1'] ['1', '', '1', '1']没有’NaN’或’None’,它是空白的.我希望能够使用相同的值填充特定列中的所有空白单元格.解决方法:您可以使用numpy.where()来实现此目的.In [8]: arr = numpy.array(['','1','2','3',''])In [9]: arr[numpy.where(arr==''...