【python-如何在数组中返回嵌套文档】教程文章相关的互联网学习教程文章

python-在Numpy中合并两个相同形状数组的最干净方法【代码】

我们有一些形状相同的数组,并希望将它们合并. “合并”是指输出一个新数组,其中每个位置的每个数组中每个i,j的总和.import numpy as np first = np.array([[1,1],[1,1]]) second = np.array([[2,2],[2,2]]) third = np.array([[3,3],[3,3]])结果应为:[[6,6], [6,6]]这是我的代码…但是有更干净的方法吗?我似乎找不到内置方法:def merge_arrays(arrays):output = arrays[0]for a in arrays[1:]:for i,row in enumerate(a):for j,...

Python中的数组形状【代码】

尽管这很烦人,但这将是一个相当愚蠢的问题.我有800个ndarray的列表,每个数组都有7680个元素.如何将其设置为< 800,7680>格式?解决方法:只需将其传递给np.array工厂函数即可.举个例子:>>> lst = [np.zeros(7680) for x in range(800)] #just a list of 800 ndarrays ... >>> arr = np.array(lst) #make them into an array >>> arr.shape #shape looks OK to me :-) (800, 7680)

python-格式化numpy数组并保存到* .txt【代码】

我想格式化一个numpy数组并将其保存在* .txt文件中 numpy数组如下所示:a = [ 0.1 0.2 0.3 0.4 ... ] , [ 1.1 1.2 1.3 1.4 ... ] , ...输出* .txt应该如下所示:0 1:0.1 2:0.2 3:0.3 4:0.4 ... 0 1:1.1 2:1.2 3:1.3 1:1.4 ... ...不知道该怎么做. 谢谢. 好吧,贾巴,谢谢.我把你的答案固定了一点import numpy as npa = np.array([[1,3,5,6], [4,2,4,6], [6,3,2,6]])ret = ""for i in range(a.sh...

二维数组中查找-Python【代码】

题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。时间限制:1秒?空间限制:32768K?热度指数:1448982 本题知识点:?查找?数组 ? 1.全局顺序查找运行时间:446ms 占用内存:5636k#思路:一行一行顺序查找# -*- coding:utf-8 -*- class Solution:# array 二维列表def ...

python-字符串和数组(矩阵)按行排列:numpy.savetxt【代码】

我有两个字符串数组,它们必须彼此按行排列,然后必须将它们写入文本文件中import numpy as np title1 = np.array(['text1']) title2 = np.array(['text2']) np.savetxt('result.csv',(title1, title2),fmt="%s")结果应为以下文件开头:text1 text2但更像是这样:text1text2第二个问题是在这两行文本下面,我需要在下一行中放一个矩阵(我的要大得多).矩阵的条目应以分号“;”隔开. -行末不应有一个(!)a=np.array([[1.2,2.3,3.4],[4...

MemoryView上的微积分(Python数组)【代码】

我打算在python数组中使用memoryview:... cdef double[:, :] a = np.array([[1, 1, 0]]) cdef double[:, :] c = 0,5 * a * a.T但这引发了一个错误:Invalid operand types for ‘*’ (double; double[:, :])在这种情况下我该怎么办?解决方法:能够获取标量和数组乘积的功能是numpy数组的功能(请参见broadcasting),但显然不是Cython的内存视图的功能.可以通过遍历内存块并将每个条目乘以所需的值来实现.另外,只要坚持使用numpy数组...

python-取消numpy数组操作(包括标量)【代码】

我正在使用NumPy 1.7.1版.现在我遇到了一个我不明白的奇怪取消:>>> import numpy as np >>> a = np.array([ 883, 931, 874], dtype=np.float32)数学上0.1-a应该是0.1.现在让我们计算一下这个表达式以及绝对和相对误差:>>> a+0.1-a array([ 0.09997559, 0.09997559, 0.09997559], dtype=float32) >>> (a+0.1-a)-0.1 array([ -2.44155526e-05, -2.44155526e-05, -2.44155526e-05], dtype=float32) >>> ((a+0.1-a)-0.1) / 0.1...

从Arduino到Python数组的字符串列表【代码】

我正在通过Arduino发送的串行读取信息.这是一些正在读取的示例数据:4 1 5 2 15 1作为以前的MATLAB用户,我将能够复制值,诸如此类a = PASTE获得值的向量.有没有类似的方法来获取int数组或python终端中的矩阵中的所有值(使用numpy和matplotlib进行进一步绘制)? 谢谢您的帮助.解决方法:基本上,这在Matlab中有效,因为空格用于分隔序列中的项,并且Matlab将允许您使用换行符而不是空格.换句话说,您可以x = [1 2 3] 在python中,使用逗号代...

python-NumPy-将数组重塑为一维【代码】

我在将NumPy数组转换为1-D时遇到问题.我调查了在SO上发现的想法,但问题仍然存在.nu = np.reshape(np.dot(prior.T, randn(d)), -1) print 'nu1', str(nu.shape) print nu nu = nu.ravel() print 'nu2', str(nu.shape) print nu nu = nu.flatten() print 'nu3', str(nu.shape) print nu nu = nu.reshape(d) print 'nu4', str(nu.shape) print nu该代码产生以下输出:nu1 (1, 200) [[-0.0174428 -0.01855013 ... 0.01137508 0.00577...

python-重新采样并调整numpy数组的大小【代码】

我想按照这里的建议重新采样一个numpy数组Resampling a numpy array representing an image,但是这种重新采样将以一个因素进行,即x = np.arange(9).reshape(3,3) print scipy.ndimage.zoom(x, 2, order=1)将创建(6,6)的形状,但是如何在(4,6),(6,8)或(6,10)形状内重新采样数组以使其达到最佳近似度?解决方法:而不是将单个数字传递给zoom参数,而是给出一个序列:scipy.ndimage.zoom(x, zoom=(1.5, 2.), order=1) #array([[0, 0, 1, ...

Python Numpy:子数组到一个列表【代码】

我有一个看起来像这样的numpy数组x:In: x Out: array([[array([ 1.]), 0.0],[array([-0.00770808]), array([ 0.90825723])],[array([-0.0358526]), array([ 0.59267366])],[array([ 0.0088844]), array([ 0.89480382])],[array([ 0.0387529]), array([ 0.56483939])],[array([-0.08508252]), array([ 0.20664826])],[array([-0.04159874]), array([ 0.538443])],[array([ 0.07626737]), array([ 0.25998565])],[array([ 0.002226...

python-以小块创建非常大的NUMPY数组(PyTables与numpy.memmap)【代码】

关于SO的问题似乎很多,但是它们并不能完全回答我的问题.我认为这对于计算科学家来说是一个非常普遍的用例,因此我提出了一个新问题. 题: 我从文件中读取了几个小的numpy数组(每个数组约10 MB),并对它们进行了一些处理.我想创建一个更大的数组(?1 TB),其中数组中的每个维度都包含这些较小文件之一的数据.任何尝试在RAM中创建整个较大阵列(或其大部分)的方法均不适用,因为它会淹没RAM,并使计算机停止运行.因此,我需要能够初始化较大的...

Python Ctypes:将返回的C数组转换为python列表,而没有numpy【代码】

我正在使用Python Ctypes访问某些C库. 我连接的函数之一返回const * double,它实际上是一个double数组. 当我在Python中获得结果时,如何将该数组转换为python列表? C函数的签名:const double *getWeights();假设它返回一个包含0.13和0.12的数组.我想获取一个Python列表:[0.13,0.12]解决方法:我成功使用指针解决了它 解决方案: 将函数返回类型定义为POINTER(double_c)(当然,数组实际上是C中的指针):getWeights_function_handler...

python-对元组数组进行排名【代码】

我有一个数组array = [('item1',90),('item2',76),('item3',83),('item4',90)]我想给它排名ranking = [(0,'item1'),(0,'item4'),(2,'item3'),(3,'item2')] // (1)到目前为止,这是我使用ranking完成的工作:from ranking import *>>> array.sort(key=lambda x: x[1],reverse = True) >>> print [i for i in list(Ranking([i[1] for i in array]))]这是我得到的:[(0, 90), (0, 90), (2, 83), (3, 76)] // (2)谁能帮助我从(2)达到(1)...

python-在numpy中创建索引数组-消除double for循环【代码】

我有一些物理仿真代码,使用python和numpy / scipy编写.对代码进行性能分析表明,38%的CPU时间都花在了一个双重嵌套的for循环中-这似乎过多,因此我一直在尝试减少它. 循环的目标是创建一个索引数组,以显示2D数组的元素等于1D数组的哪些元素.indices[i,j] = where(1D_array == 2D_array[i,j])例如,如果1D_array = [7.2,2.5,3.9]且2D_array = [[7.2, 2.5] [3.9, 7.2]]我们本应该indices = [[0, 1][2, 0]]我目前已实现为for i in range...