【29.连续子数组的最大和(python)】教程文章相关的互联网学习教程文章

python-numpy数组上的str()方法并返回【代码】

应用str()方法后,是否有任何内置方法可以返回numpy数组,例如,import numpy as np a = np.array([[1.1, 2.2, 3.3], [4.4, 5.5, 6.6]]) a_str = str(a)#to get back a? a = some_method(a_str).以下两种方法不起作用:from ast import literal_eval a = literal_eval(a_str) # Errorimport numpy as np a = np.fromstring(a_str) # Error更新1:不幸的是,我已经用str()方法转换了很大的数据,所以我不打算用其他方法重新转换它.解决...

Python上的LMFIT:TypeError:只能将size-1数组转换为Python标量【代码】

我正在尝试在python(Anaconda)上使用LMFIT创建曲线拟合程序,但是我一直收到相同的错误消息:TypeError:只有大小为1的数组可以转换为Python标量.我只能使用一个函数来执行优化,但是当我尝试优化调用其他用户定义函数的函数时,出现此错误.import numpy as np from matplotlib import pyplot import scipy.special as sp from scipy import integrate import lmfit as lm#Defining the first function. def function1(alpha,q,s,l):I...

python-将函数有效地应用于numpy数组中的球面邻域【代码】

我在Python中有一个浮点值的3D numpy数组.我需要检索半径为r的球体中的所有元素,从中心点P(x,y,z).然后,我要在球体上应用点函数更新其值,并需要到中心点的距离才能执行此操作.我经常执行这些步骤,并且大半径值,所以我想有一个同样有效的解决方案尽可能. 我当前的解决方案仅检查球体边界框中的点,如此处所示:Using a QuadTree to get all points within a bounding circle.代码草图如下所示:# P(x, y, z): center of the sphere f...

python-查找其中一个数组大于第二个数组中的元素的索引【代码】

我有两个数组a = np.array([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]) b = np.array([0,5,10,15])我想要一个长度为b的输出数组,其中每个元素b [i]是a的第一个元素的索引,其至少为b [i]:out = np.array([0, 5, 10, 15]一个较慢的解决方案是:out = [] for x in b: i = np.argmax( a >= x )out.append( i )这是边际速度增加:out = [] i=0 for x in b: i = np.argmax( a[i:] >= x ) + iout.append( i )有一个纯粹的numpy解决方案...

python-应用dataframe方法后numpy数组末尾的额外数据类型【代码】

我将以下代码应用于numpy数组:mad_array = [] for j in data:df = pd.DataFrame(j)print(j)mad_array.append(df.mad())print(mad_array) 输出数组如下所示:[0 10.0 dtype: float64, 0 18.875 dtype: float64, 0 18.375 dtype: float64]有没有一种方法可以去除输出中附加的0(不确定来自何处)和数据类型属性,因此我的输出数组如下所示:[10.0 18.875 18.375]我不确定这是numpy还是DataFrame的行为.解决方法:您可以使用d...

用坐标列表索引二维数组的Python方法【代码】

我有numpy.ndarray类和尺寸(200,2)的坐标.基本上是regionprops的输出. 我想索引昏暗的img.shape =(1000,1000)的图像矩阵(也是ndarray).我希望能够做类似的事情for prop in region:img[prop.coords] = 0但是,发生的是,它没有将坐标视为行,列对.而是将每个数字作为行号并将整个行设置为0. 我怎样才能解决这个问题? 我试图重塑数组,但这似乎也不起作用.我唯一能想到的就是将这些索引转换为矩阵,该矩阵的尺寸与图像尺寸相同,并且这些坐...

python-如何使用numpy创建范围的二维数组【代码】

我有一个开始和停止索引数组,如下所示:[[0, 3], [4, 7], [15, 18]]并且我想构造一个二维numpy数组,其中每一行都是从相应的起始索引和终止索引对开始的范围,如下所示:[[0, 1, 2],[4, 5, 6],[15, 16, 18]]当前,我正在创建一个空数组并将其填充为for循环:ranges = numpy.empty((3, 3))a = [[0, 3], [4, 7], [15, 18]]for i, r in enumerate(a):ranges[i] = numpy.arange(r[0], r[1])有没有更紧凑,更重要(更快)的方法?可能不涉及使...

python-如何在派热克斯中定义初始化的C数组?【代码】

我想在派热克斯中定义初始化的C数组,例如等价于:unsigned char a[8] = {0,1,2,3,4,5,6,7};Pyrex中的等效物是什么? 只是数组是cdef unsigned char a[8]但是如何用我的值初始化它呢?解决方法:在Pyrex的继任者Cython中,此功能在一年多的时间里得到了修复,以修复此feature request,因此,例如,以下在Cython中的工作如下:cdef double a[] = [0.5, 0.3, 0.1, 0.1]但是,Pyrex的开发进度要慢得多(这就是为什么Cython早在几年前就被开发人...

python 元组和数组

参考:https://stackoverflow.com/questions/1708510/list-vs-tuple-when-to-use-each tuple(元组):不可变,不能添加、删除、更改元素。 list(数组): 可变,可以添加、删除和更改元素。 tuple优点:效率高:如果只是作为元素存储和遍历,不涉及对元素的添加、删除、更改等操作,建议使用元组 代码安全:如果数据不需要更改,通过元组可以提供“写保护”, 避免误操作 作为dict的key:当元组内元素都为不可变对象(如strin...

python-如何绘制例如的x-y网格从数组中读取颜色的正方形【代码】

我有x和y坐标的单独数组,以及对应值的z数组.我希望制作一个在每个x和y坐标处都有正方形的图,该坐标具有从z数组中设置的颜色-类似于this. matplotlib.pyplot.scatter函数需要从0-1缩放的颜色数组,因此我看不到在这种情况下该如何使用.任何帮助深表感谢.解决方法:谢谢安德鲁.我现在知道如何运作.问题是我的z数组只是一列数字.由于它们的排列顺序不合理,因此仅使用pcolor将数组重新整形为2D会很困难. 我想出了一个更好的解决方案,使用...

在Matlab中将数组另存为bin,将其传递给Python并在Python中读取bin文件【代码】

我目前正在尝试在Matlab中将数组另存为bin文件,将其发送到Python并在Python中读取.但是,我运行Matlab时显示错误.我正在使用以下代码: 在Matlab中读取数组,转换为bin文件并传递给Python:array1 = rand(5,1); %% array1 is the desired array that needs to be sent to Pythonfid = fopen('nazmul.bin','wb'); %% I want to save array1 in the nazmul.bin filefwrite(fid,array1);status=fclose(fid);python('squared.py','nazmul...

在Python / Numpy中一次分配多个数组索引【代码】

我希望快速(希望没有for循环)生成以下形式的Numpy数组:array([a,a,a,a,0,0,0,0,0,b,b,b,0,0,0, c,c,0,0....])其中a,b,c和其他值在不同点的不同范围重复.我真的在想这样的事情:import numpy as np a = np.zeros(100) a[0:3,9:11,15:16] = np.array([a,b,c])这显然是行不通的.有什么建议么? 编辑(jterrace回答了原始问题):数据以N * M Numpy数组的形式出现.每行大多为零,偶尔散布着非零数字序列.我想用序列的最后一个值替换每个这...

python-如何引用numpy数组对象?【代码】

我有numpy数组:>>> datadtype([('date', '|O4'), ('value', '<f8')]其中date对象是Python datetime.date对象,它由一年中的所有天组成:[2010-1-1,…,2010-12-31],而value对象是对应日期的值数据. 我如何仅返回例如9月的价值数据?解决方法:您可以使用布尔数组为数据建立索引:import numpy as np import datetime as dt dates=[dt.date(2010,1,1)+dt.timedelta(days=i) for i in range(365)] values=range(365) data=np.array(zip...

python-numpy(.ma)数组:自上次值更改以来的值数?【代码】

我在numpy.ma数组中有一个状态信号(已测量,为一个热泵)以及时间戳.我想要的是它打开的时间长度和它关闭的时间长度. (不是每天的运行时间,那会很容易.) 我所拥有的(示例性的,实际上我在16个月内具有分钟值.):Time Value 12:00 0 12:01 1 12:02 1 ... 12:29 1 12:30 1 12:31 0 ... 12:41 0 12:42 1 ... 13:01 1 13:02 0 ...and so on而我想作为输出:running_time_was: time value (=minutes) 12:31 30 1...

python-从numpy数组中删除出现多次的元素【代码】

问题是,如何才能完全删除数组中多次出现的元素.在下面,您会发现对于大型数组,这种方法非常慢.知道这样做的想法吗?提前致谢.import numpy as npcount = 0 result = [] input = np.array([[1,1], [1,1], [2,3], [4,5], [1,1]]) # array with points [x, y]# count appearance of elements with same x and y coordinate # append to result if element appears just oncefor i in input:for j in input:if (j[0] == i [0]) and (j[1...