【python3库numpy数组属性的查看方法】教程文章相关的互联网学习教程文章

python-点积用于任意形状的NumPy数组【代码】

给定两个任意形状的numpy.ndarray对象A和B,我想计算一个numpy.ndarray C,其属性为C [i] == np.dot(A [i],B [i])为了我我怎样才能做到这一点? 示例1:A.shape ==(2,3,4)和B.shape ==(2,4,5),那么我们应该有C.shape ==(2,3,5). 示例2:A.shape ==(2,3,4)和B.shape ==(2,4),那么我们应该有C.shape ==(2,3).解决方法:这是一个通用的解决方案,它使用一些重塑和np.einsum来覆盖各种情况/任意形状.einsum在这里有帮助,因为我们需要沿输入...

python-将numpy数组另存为二进制以从FORTRAN中读取【代码】

我有一系列的numpy数组,我需要将这些numpy数组作为需要从FORTRAN中读取的原始二进制float32(不包含任何标头信息)保存在循环中.import numpy as np f=open('test.bin','wb+') for i in range(0,10):np_data=np.random.rand(10,5)fortran_data=np.asfortranarray(np_data,'float32')fortran_data.tofile(f)f.close()这是正确的方法,以便我可以正确地从FORTRAN中读取在python中创建的此二进制文件.您的建议将受到高度赞赏解决方法:您编...

python-从列表和其他单个值创建numpy数组的最佳方法【代码】

我想从列表条目和一些其他单独的值创建一个数组. 我正在使用以下似乎笨拙的方法:x=[1,2,3] y=some_variable1 z=some_variable2 x.append(y) x.append(z) arr = np.array(x)#print arr --> [1 2 3 some_variable1 some_variable2]有更好的解决方案吗?解决方法:您可以使用列表添加将所有放置在列表中的变量添加到较大的列表中,如下所示:arr = np.array(x + [y, z])

按部分比较python中的两个numpy数组【代码】

我想按部分对两个数组进行比较.到目前为止,我必须获得所有数组的结果.import numpy as np array1 = np.array(list(np.zeros(20))+(list(np.ones(20)))+(list(2*np.ones(20)))) array2 = np.array(list(np.ones(20))+(list(np.ones(20)))+(list(3*np.ones(20)))) result = np.sum(array1 == array2) print 'all result :' + str(result)如何才能得到部分结果,例如数组中的第一数据20然后第二数据20和第三数据20?结果应该是: 全部结...

python-根据另一个数组对齐numpy数组【代码】

我有一个包含任意整数的numpy数组a,我还有另一个数组b,(它始终是a的子集,但是b中数字的顺序不同于a.我想按顺序排列b的元素它出现在a = np.array([4,2,6,5,8,7,10,12]); b = np.array([10,6,2,12]),我希望b对齐为[2,6,10,12].我怎样才能有效地在numpy中做到这一点?解决方法:方法#1:采用np.in1d的一种方法,假设-中没有重复项a[np.in1d(a,b)]元素处于干扰状态的更好的案例案例,以至于没有针对常见元素进行排序以呈现各种案例-In [10...

python-从具有3个通道的numpy数组中绘制彩色图像【代码】

在我的Jupyter笔记本中,我试图显示通过Keras迭代的图像.我正在使用的代码如下def plotImages(path, num):batchGenerator = file_utils.fileBatchGenerator(path+"train/", num)imgs,labels = next(batchGenerator)fig = plt.figure(figsize=(224, 224))plt.gray()for i in range(num):sub = fig.add_subplot(num, 1, i + 1)sub.imshow(imgs[i,0], interpolation='nearest')但这仅绘制单个通道,因此我的图像是灰度的.如何使用3个通道...

python-如何使用花式索引创建Numpy数组【代码】

如何使用numpy的精美索引来创建此索引,我想要最快的性能:array([[ 1, 2, 3, 4, 16, 31],[ 2, 3, 4, 5, 17, 32],[ 3, 4, 5, 6, 18, 33],[ 4, 5, 6, 7, 19, 34],[ 5, 6, 7, 8, 20, 35],[ 6, 7, 8, 9, 21, 36],[ 7, 8, 9, 10, 22, 37],[ 8, 9, 10, 11, 23, 38],[ 9, 10, 11, 12, 24, 39],[10, 11, 12, 13, 25, 40]]从此开始:a = np.arange(0,10)aa = np.arange(0,50)y = 1AA = [(aa[np.array([x+y, 1+x+...

python-将numpy数组项放入“ bins”中【代码】

这个问题已经在这里有了答案: > Grouping indices of unique elements in numpy 4个我有一些整数的numpy数组,例如a = numpy.array([1, 6, 6, 4, 1, 1, 4])我现在想将所有项目放入等值的“容器”中,以使带有标签1的容器包含具有值1的a的所有索引.对于上面的示例:bins = {1: [0, 4, 5],6: [1, 2],4: [3, 6],}结合独特性和去向的诀窍,uniques = numpy.unique(a) bins = {...

python-cython中的可能优化:numpy数组【代码】

以下是我的Cython代码,用于从多元正态分布中提取.我使用循环是因为每次我都有不同的密度. (conLSigma是Cholesky因子) 这会花费很多时间,因为我需要为每个循环进行逆分解和Cholesky分解.它比纯python代码要快,但是我想知道是否有什么方法可以提高速度.from __future__ import divisionimport numpy as np cimport numpy as np ctypedef np.float64_t dtype_tcimport cython @cython.boundscheck(False) @cython.wraparound(False)de...

python-numpy数组的元素作为具有相同索引的自己的熊猫行【代码】

这个问题已经在这里有了答案: > Split (explode) pandas dataframe string entry to separate rows 18个我有一个用numpy数组作为列中的值的pandas DataFrame.我想将每个元素转换为具有相同日期的行: 我的DataFrame看起来像这样:date website+ 0 2014-11-26 [A] 238 2015-12-20 [B, C] 297 2016-02-17 [D] 303 2016-02-23 [E, F, G]而且我要...

python-Numpy数组多个蒙版【代码】

尝试基于整数掩码数组多次对numpy数组进行切片和平均: 即import numpy as npdata = np.arange(11) mask = np.array([0, 1, 1, 1, 0, 2, 2, 3, 3, 3, 3])results = list() for maskid in range(1,4):result = np.average(data[mask==maskid])results.append(result) output = np.array(result)有没有一种方法可以更快地执行此操作,而又没有“ for”循环?解决方法:一种使用np.bincount的方法-np.bincount(mask, data)/np.bincount(...

python-从.m matlab文件中声明的矩阵创建numpy数组【代码】

一位同事留下了一些我想用Numpy分析的数据文件. 每个文件都是一个matlab文件,例如data.m,具有以下格式(但具有更多的行和列):values = [-24.92 -23.66 -22.55 ; -24.77 -23.56 -22.45 ; -24.54 -23.64 -22.56 ; ];这是matlab使用的典型的显式矩阵创建语法. 我的问题是:从这些文件创建numpy数组的最实用方法是什么? 我可以考虑“强力”或“快速而肮脏的”解决方案,但是如果有一个更直接的解决方案,我宁愿使用它,就像numpy甚至另一...

python-Cython是否提供任何合理简便有效的方法来迭代Numpy数组,就好像它们是平坦的一样?【代码】

假设我要实现Numpy的x[:] += 1在Cython.我可以写@cython.boundscheck(False) @cython.wraparoundcheck(False) def add1(np.ndarray[np.float32_t, ndim=1] x):cdef unsigned long ifor i in range(len(x)):x[i] += 1但是,这仅适用于ndim =1.我可以使用add1(x.reshape(-1))但这仅适用于连续的x. Cython是否提供任何合理简单有效的方法来迭代Numpy数组,就像它们是平坦的一样? (在Cython中重新实现此特定操作没有任何意义,因为上述Nu...

python在numpy数组中转换带格式数字的字符串最快的方法是什么【代码】

我有一个很大的ASCII文件(?100GB),其中包含大约1.000.000行的已知格式化数字,我尝试使用python处理它们.该文件太大,无法完全读入内存,因此我决定逐行处理该文件:fp = open(file_name) for count,line in enumerate(fp):data = np.array(line.split(),dtype=np.float)#do stuff fp.close()事实证明,我将程序的大部分运行时间都花在data =行中.有什么方法可以加快生产速度吗?而且,执行速度似乎比我从带格式读取的本机FORTRAN程序中...

python-将具有numpy数组的字典写入.csv【代码】

我想将结果文件写入.csv.我准备了一个简单的测试示例.import numpy as np data = {} testdata = np.array([1,2,3,4,5])data['set1'] = {'a': testdata, 'b': testdata, 'c': testdata} data['set2'] = {'a2': testdata, 'b2': testdata, 'c2': testdata} data['set3'] = {'a3': testdata, 'b3': testdata, 'c3': testdata}得到这样的结果文件将是很棒的:有一种简单的建议方法吗?解决方法:您可以在单独的数据结构中收集标题和行,然...

PYTHON3 - 相关标签