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

python – numpy数组映射并取平均值【代码】

我有三个阵列import numpy as np value = np.array ([1, 3, 3, 5, 5, 7, 3]) index = np.array ([1, 1, 3, 3, 6, 6, 6]) data = np.array ([1, 2, 3, 4, 5, 6])数组“索引”& “值”具有相同的大小,我想通过取平均值将项目分组为“值”.例如:对于前两个项目[1,3,… in“value”,在“index”中具有相同的键1,因此对于最终数组,该值是第一个和第一个的平均值.第2项价值:(1 3)/ 2等于2 最后一个数组是:[2, nan, 4, nan, nan, 5]第...

在Python中使用serizalize数组【代码】

我正在尝试在python中序列化一个数组以将其插入MySQL的数据库…我尝试使用pickle.dump()方法,但它返回字节…我可以使用什么?谢谢!! (我在python 3中工作)解决方法:您可以尝试使用json将其转换为字符串,如下所示:import jsonv = [1, 2, 4] s = json.dumps(v)

使用Python ctypes访问c-structs数组【代码】

我有一个C函数,它在传递给的地址处分配内存,并通过Python访问.指针内容确实包含C代码中的结构数组,但是我无法让ctypes在第0个元素之外正确访问数组.如何获得正确的内存偏移量才能访问非零元素?如果我尝试使用他们的ctypes.memset函数,Python的ctypes.memset会抱怨TypeErrors.typedef struct td_Group {unsigned int group_id;char groupname[256];char date_created[32];char date_modified[32];unsigned int user_modified;unsig...

python – 使用索引数组获取元素的更好方法?【代码】

我想使用像这样的索引数组来获取numpy数组的元素import numpy a = numpy.arange(6) ind = [2,3]现在,[ind]给了我第3和第4个元素,但我实际上想要a的所有其他元素.是否有一条线/优雅的方式来做到这一点?解决方法:我知道没有一种简单的方法来获得一组整数索引的补充.布尔索引否定很容易,这可以让你做这样的事情:In [100]: a=np.arange(6)In [101]: ind=[2,3]In [102]: cind=(a==a)In [103]: cind[ind]=FalseIn [104]: a[cind] Out[...

python – 为什么.append()比在预先分配的数组中设置值慢?【代码】

我正在尝试加速部分代码,包括循环并在大型2D数组中设置值.其中一个建议是我尝试预先分配数组而不是使用.append(),但有人指出在Python中.append()是一个分摊的O(1)操作. 但是,当我使用以下代码测试它时:import timex = list() z = list() t1 = time.time() for i in range(10000):z.append([])for j in range(10000):z[i].append(0)t1 = time.time() for i in range(10000):x.append([])for j in range(10000):x[i].append(1) prin...

leetcode 167. 两数之和 II - 输入有序数组(python)

167. 两数之和 II - 输入有序数组【简单】 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。 说明: 返回的下标值(index1 和 index2)不是从零开始的。 你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。 示例: 输入: numbers = [2, 7, 11, 15], target = 9 输出: [1,2] 解释: 2 与 7 之和等于目标数 ...

从scipy的weave.inline返回C数组到python范围【代码】

我使用scipy的weave.inline来执行计算上昂贵的任务.我有问题将一维数组返回到python范围. Weave.inline使用一个名为“return_val”的特殊参数,用于将值返回到python范围.以下返回整数值的示例运行良好:>>> from scipy.weave import inline >>> print inline(r'''int N = 10; return_val = N;''') 10但是,下面的示例确实在没有提示错误的情况下进行编译,并不会返回我期望的数组:>>> from scipy.weave import inline >>> code = ...

python – 堆叠numpy数组?【代码】

我试图水平堆栈数组,使用numpy hstack,但无法让它工作.相反,它全部出现在一个列表中,而不是“矩阵式”2D阵列.import numpy as np y = np.array([0,2,-6,4,1]) y_bool = y > 0 y_bool = [1 if l == True else 0 for l in y_bool] #convert to decimals for classification y_range = range(0,len(y)) print y print y_bool print y_range print np.hstack((y,y_bool,y_range))打印这个:[ 0 2 -6 4 1] [0, 1, 0, 1, 1] [0, 1, 2,...

python – 选择性Numpy数组操作(取决于值)【代码】

假设我有以下Numpy数组:array([[3, 5, 0], [7, 0, 2]])我现在想要添加2,其中值不是0.最快的方法是什么?我必须操纵相当大的多维数组?解决方法:在我看来,这:a[a!=0] += 2应该管用. (对于非零测试的有限情况),您可能能够加快速度(您需要及时查看):mask = a.astype(bool) a[mask] += 2当然,如果你可以在不同的位置重复使用相同的掩码,你可以节省掩码计算(这是一个非常严格的约束):mask = a != 0 a[mask] += 2 #some more code .....

Numpy数组和python属性【代码】

我想在每次设置时对numpy数组的内容执行检查.可以使用python属性吗?我的方法:import numpy as npclass Obj(): def __init__(self): self._np_arr = None @property ...

在Python中:给定一个原始的数字数组,我如何创建一个包含特定范围内原始数组值的新数组?【代码】

import os import pyfits as ps import lomb import numpy as np import matplotlib.pyplot as plthdulist = ps.open('filename')tbdata = hdulist[1].dataPDCFlux = tbdata.field(7) PDCFlux = PDCFlux[~np.isnan(PDCFlux)]psd,freq = lomb.lomb(Timesec,PDCFlux) logpsd = np.log10(psd) logfreq = np.log10(freq)#want an associated 'slope'.'''PDC Slope''' PDCFluxrange = PDCFlux.all[np.log10(4*(10**(-5)))<freq<np.log10...

python – 从numpy.argmax结果中提取numpy数组切片【代码】

我有一个(3,3)numpy数组,想要找出绝对元素的符号值最大值:X = [[-2.1, 2, 3],[ 1, -6.1, 5],[ 0, 1, 1]]s = numpy.argmax(numpy.abs(X),axis=0) 给出了我需要的元素的索引,s = [0,1,1]. 我怎样才能使用这个数组来提取元素[-2.1,-6.1,5]来找出它们的符号?解决方法:试试这个:# You might need to do this to get X as an ndarray (for example if X is a list) X = numpy.asarray(X)# Then you can simply do X[s, [0, 1, 2]...

python – 4D数组的Numpy加权平均值,其中2D数组的权重没有列表理解【代码】

(这个问题类似于Numpy averaging with multi-dimensional weights along an axis,但更复杂.) 我有一个numpy数组,d,d.shape =(16,3,90,144),以及一个numpy数组,e,e.shape =(16,3).我想用e取一个沿轴1的加权平均值.所以输出应该是一个形状为numpy的数组(16,90,144).我可以通过列表理解来实现这一目标:np.array([np.average(d[n], weights=e[n], axis=0) for n in range(16)])但正如在上一个问题中,我想避免必须从列表转换回numpy数组...

python – 具有mpz / mpfr值的numpy数组【代码】

我希望有一个mpz / mpfr值的numpy数组.因为我的代码:import numpy as np import gmpy2 A=np.ones((5,5)); print A/gmpy2.mpfr(1);产生:RuntimeWarning: invalid value encountered in divideprint A/gmpy2.mpfr(1); [[1.0 1.0 1.0 1.0 1.0][1.0 1.0 1.0 1.0 1.0][1.0 1.0 1.0 1.0 1.0][1.0 1.0 1.0 1.0 1.0][1.0 1.0 1.0 1.0 1.0]]据我所知,将gmpy mpfr转换为numpy float64是不可能的.那么我怎么能首先得到一个带有mpfr值的numpy...

python – 设置用于使用matplotlib contourf绘制的数组掩码值的颜色【代码】

当我使用matplotlib countourf绘制具有蒙版值的数组时,蒙版值显示为白色.我希望它们显得灰色. 我尝试了set_bad方法,但似乎countourf无法识别它(尽管它识别set_over和set_under方法). 有没有其他方法我可以使用contourf? 或者我是否必须更改我的代码以使用imshow,它理解set_bad,而不是countourf?解决方法:您是否尝试过首先设置背景,例如:x,y=meshgrid(linspace(0,1),linspace(0,1)) fig=plt.figure() a=fig.add_subplot(111,axis...