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

python – 在数组数组中查找数组索引的快速方法【代码】

假设我有一个长度为4的numpy数组:In [41]: arr Out[41]: array([[ 1, 15, 0, 0],[ 30, 10, 0, 0],[ 30, 20, 0, 0],...,[104, 139, 146, 75],[ 9, 11, 146, 74],[ 9, 138, 146, 75]], dtype=uint8)我想知道: > arr包含[1,2,3,4]是真的吗?>如果是真的那么[1,2,3,4]的索引是什么? 我想尽可能快地发现它. 假设arr包含8550420个元素.我用timeit检查了几种方法: >只是为了检查而没有获得索引:任何(所有([1,2...

python – numpy中数组之间的映射【代码】

给定一系列对应关系,我想在一个数组中有一些数据要映射到另一个数组: > originaldata是一个numpy二维数组,> targetdata是另一个numpy 2D数组,> mapping是一个在位置之间进行映射的数组,因此映射[x,y]给出了一对坐标,其中targetdata [x,y]的数据来自originaldata. 到目前为止,我做了这样的事情:for (x,y) in ALLTHEPOINTS:targetdata[x,y]=originaldata[mapping[x,y][0],mapping[x,y][1]]……我怀疑这是非常低效的. 有没有办法对此...

python – 为不同大小的数组自动填充np.nan【代码】

我想将项目字典传递给Dataframe,但这些项目可以有可变长度数组.将np.nan附加到数组以使它们与大小匹配的最优雅方法是什么?例如:pd.DataFrame.from_dict({"a":[1,2,3],"b":[1,2], "c":[1]})应该归还我a b c 1 1 1 2 2 nan 3 nan nan解决方法:也许:d = {"a":[1,2,3],"b":[1,2], "c":[1]} pd.concat(map(pd.Series, d.values()), keys=d.keys(), axis=1)

python – 在numpy数组中查找负值和正值【代码】

我有一个numpy数组包含m / s风速数据.负值和正值都有.现在我需要计算风速的平均数量超过负值,并对正值进行相同的计算.这可能吗 ?数据保留在数组中非常重要.我曾尝试使用numpy.average,但没有成功,因为他将整个数组的平均值都作为正值和负值. 谢谢!解决方法:关于numpy的好处是你可以写下这样的东西:negavg = numpy.mean(windspeed[windspeed < 0.0])posavg = numpy.mean(windspeed[windspeed > 0.0])

python – 来自单独数组中纬度/经度坐标的所有可能的(纬度,经度)点【代码】

我在两个独立的数组中有纬度和经度坐标:a = np.array([71,75]) b = np.array([43,42])如何轻松找到由这些坐标组成的所有可能点? 我一直在搞乱itertools.combinations:In [43]:list(itertools.combinations(np.concatenate([a,b]), r=2))Out[43]:[(71, 75), (71, 43), (71, 42), (75, 43), (75, 42), (43, 42)]但这对我不起作用,因为点(71,75)和(43,42)是纬度/纬度和经度/经度对. 我想拥有的是:Out[43]:[(71, 43), (71, 42), (7...

大多数pythonic方式处理用于实例化类的参数组合?【代码】

假设我有一堂课Foo:class Foo(object):@staticmethoddef get_a(b, c):if not b or not c:raise ValueError("Invalid params!")return b + cdef __init__(self, a=None, b=None, c=None):if not a:a = Foo.get_a(b, c)self.a = a用户可以将该类与b和c中的一个或两个一起使用.如果提供了a,则忽略b和c. 更好的是:当提供所有三个参数时出错(确保程序员意识到正在使用哪一个)或将其放入文档中,如果提供了b,c将被忽略? 一方面,错误更明...

python – 将行添加到空的2D NumPy数组中【代码】

我想从一个空的2D NumPy数组开始,然后添加一些行.但是,到目前为止,我只能用一维数组做到这一点.这是我到目前为止所尝试的:a = numpy.array([]) a = numpy.append(a, [1, 2]) a = numpy.append(a, [8, 8]) print a我得到的输出是:[1, 2, 8, 8]而我希望输出为:[[1, 2], [8, 8]]我怎样才能做到这一点?解决方法:试试这个:>>> a = numpy.empty((0,2),int) >>> a = numpy.append(a, [[1, 2]], axis=0) >>> a = numpy.append(a, [[8,...

python – Numpy数组错误或功能(在幕后捕捉到int)?【代码】

今天我注意到了Numpy / Scipy数组的奇怪行为.看起来像在float中添加带整数的数组单元格可能有两种不同的结果,具体取决于分配结果的变量.而不是长篇解释,下面我提出代码:import scipy as sp array_int = sp.array([[0], [0]]) float_operand = 0.1 print array_int[0, 0] + float_operand #gives 0.1但import scipy as sp array_int = sp.array([[0], [0]]) float_operand = 0.1 array_int[0, 0] = array_int[0, 0] + float_operan...

在Python中迭代3d数组中包含的2d数组【代码】

我已经看到很多问题要求以更快的方式迭代2d数组的每个元素,但是我没有找到一个很好的方法迭代3d数组以便在每个2d数组上应用函数.例如:from scipy.fftpack import dct X = np.arange(10000, dtype=np.float32).reshape(-1,4,4) np.array(map(dct, X))在这里,我将浏览包含在3d维数组(625,4,4)中的每个2d数组,并对每个4X4数组应用DCT(离散余弦变换).我想知道是否有更合适的方法来实现这一目标. 谢谢解决方法:Numpy功能: 在这种情况下...

如何使用逻辑运算符访问和更改Python数组?【代码】

我想知道如何在Python中执行以下MATLAB语句:X(0.80 < X & X < 1) = 1;这句话说:在X的值介于0.8和1之间的索引中加1. 我正在寻找NumPy Python列表数组的解决方案. 谢谢. 我试过了:X[X > 0.8 and X < 1]但它说:ValueError:具有多个元素的数组的真值是不明确的.使用a.any()或a.all()解决方法:这是操作顺序的问题,所以只需使用括号:X[(X > 0.8) & (X < 1)]请注意,我也使用&符号而不是和.

python – NumPy:用于切片列表的1D numpy数组【代码】

如何提取与1D numpy.ndarray中包含的索引相对应的列表元素? 这是一个例子:list_data = list(range(1, 100)) arr_index = np.asarray([18, 55, 22]) arr_index.shapelist_data[arr_index] # FAILS我希望能够检索与arr_index相对应的list_data元素.解决方法:你可以使用numpy.take – import numpy as np np.take(list_data,arr_index)样品运行 – In [12]: list_data = list(range(1, 20))In [13]: list_data Out[13]: [1, 2, 3,...

python – 使用正则表达式反向引用来创建数组【代码】

我不确定用一句话总结这个标题的最佳方法,所以请编辑它以便在必要时更清楚. 我有一个格式的字符串列表(从网页解析)"\tLocation\tNext Available Appointment: Date\n"我想把它变成一个列表列表,每个列表都有格式["Location", "Date"]我知道我会使用什么正则表达式,但我不知道如何使用结果. (作为参考,这里是找到我想要的正则表达式.)^\t(.*)\t.*: (.*)$我发现了如何将正则表达式与文本匹配,而不是如何将结果提取到其他内容.我是Pyt...

python多层数组合成一个数组后循环打印出数组内的每一项元素的方法【代码】【图】

a=[1,2,3,4] b=[5,6,7,8] c=[a,b] def test(c):for i in c:return i print(test(c))以上代码执行后打印出来的结果是预期目标是打印出a,b中的所有数据,需要创建一个空数组,把循环的结果传入数组,然后再用一个函数for数组内的内容打印a=[1,2,3,4] b=[5,6,7,8] c=[a,b] def test(c):list=[] #创建一个空数组for i in c:list.append(i) #把循环C的结果传入数组中return list #返回数组 py=test(c)def P(py): #数组传如函数P...

python – WTForms – 将文本字段发布到数组【代码】

在常规HTML中,您可以将多个字段POST到数组:<input type="text" name="arr[]"> <input type="text" name="arr[]"> <input type="text" name="arr[]"> <input type="text" name="arr[]">如何从WTForms获得此功能?基本上,我有一个用户的表单,然后单击小加号和减号按钮来添加或删除表单中的字段.解决方法:您正在寻找WTForm FieldList.它允许您创建相同字段的任意列表. 防爆.emails = FieldList(StringField('email'), min_entries=1,...