【如何在2D数组上加速python curve_fit?】教程文章相关的互联网学习教程文章

使用Python在2d数组(图像)中的像素邻居【代码】

我有一个像这样的numpy数组:x = np.array([[1,2,3],[4,5,6],[7,8,9]])我需要创建一个函数让我们用以下输入参数称它为“邻居”: > x:一个numpy 2d数组>(i,j):2d数组中元素的索引> d:邻域半径 作为输出,我想得到具有给定距离d的单元i,j的邻居.所以,如果我跑neighbors(im, i, j, d=1) with i = 1 and j = 1 (element value = 5) 我应该得到以下值的索引:[1,2,3,4,6,7,8,9].我希望我说清楚.是否有像scipy这样的库来解决这个问题?...

arr .__ len __()是获取Python数组长度的首选方法吗?【代码】

在Python中,以下是获取元素数量的唯一方法吗?arr.__len__()如果是这样,为什么奇怪的语法?解决方法: my_list = [1,2,3,4,5] len(my_list) # 5对于元组也是如此:my_tuple = (1,2,3,4,5) len(my_tuple) # 5和字符串,它们实际上只是字符数组:my_string = 'hello world' len(my_string) # 11它是intentionally done this way,因此列表,元组和其他容器类型并不都需要显式实现公共.length()方法,而是只需检查实现’magic’__len __()方...

numpy数组数组的pythonic方法(带行索引)【代码】

我想在表中找到与特定索引相对应的值.例如,这是我的表:import numpy as np my_array = np.array([[0,1,0,1,0,1,0],[1,2,1,2,1,2,1],[4,5,4,3,3,4,5]])#--------------------------------------------------------------------- # my_array : [[0, 1, 0, 1, 0, 1, 0], # [1, 2, 1, 2, 1, 2, 1], # [4, 5, 4, 3, 3, 4, 5]])以下是一系列索引.此数组中的值是my_array的行. (列未编制索...

python – 沿动态指定的轴切割numpy数组【代码】

我想动态切片沿特定轴的numpy数组.鉴于这种:axis = 2 start = 5 end = 10我希望得到与此相同的结果:# m is some matrix m[:,:,5:10]使用这样的东西:slc = tuple(:,) * len(m.shape) slc[axis] = slice(start,end) m[slc]但是:值不能放在元组中,所以我无法弄清楚如何构建切片.解决方法:我认为一种方法是使用切片(无):>>> m = np.arange(2*3*5).reshape((2,3,5)) >>> axis, start, end = 2, 1, 3 >>> target = m[:, :, 1:3] >>>...

python – 使用最后的非零值填充1d numpy数组的零值【代码】

假设我们有一个填充了一些int值的1d numpy数组.让我们说其中一些是0. 有没有办法,使用numpy数组的幂,用找到的最后一个非零值填充所有0值? 例如:arr = np.array([1, 0, 0, 2, 0, 4, 6, 8, 0, 0, 0, 0, 2]) fill_zeros_with_last(arr) print arr[1 1 1 2 2 4 6 8 8 8 8 8 2]一种方法是使用此功能:def fill_zeros_with_last(arr):last_val = None # I don't really care about the initial valuefor i in range(arr.size):if arr[i...

python – 在NumPy数组中查找等于零的元素索引【代码】

NumPy具有有效的函数/方法nonzero()来识别ndarray对象中的非零元素的索引.获取值为零的元素的索引的最有效方法是什么?解决方法:numpy.where()是我的最爱.>>> x = numpy.array([1,0,2,0,3,0,4,5,6,7,8]) >>> numpy.where(x == 0)[0] array([1, 3, 5])

python – Numpy将数组乘以矩阵(外积)【代码】

我有2个numpy形状阵列(5,1)说:A = [1,2,3,4,5]B = [2,4,2,3,6] 如何使矩阵乘以每个第i个元素与每个第j个?喜欢:..a = [1,2,3,4,5] b 2 2, 4, 6, 8,10 4 4, 8,12,16,20 2 2, 4, 6, 8,10 3 3, 6, 9,12,15 6 6,12,18,24,30不使用forloops?我可以使用重塑,缩减或乘法的任何组合吗? 现在我沿着行和沿着colums创建每个数组的a * b平铺,然后乘以元素,但在我看来必须有一个更简单的方法.解决方法:使用numpy.outer()和n...

TypeError:在绘图时,只有length-1数组可以转换为Python标量【代码】

我有这样的Python代码:import numpy as np import matplotlib.pyplot as pltdef f(x):return np.int(x)x = np.arange(1, 15.1, 0.1) plt.plot(x, f(x)) plt.show()而这样的错误:TypeError: only length-1 arrays can be converted to Python scalars我该如何解决?解决方法:当函数需要单个值但是传递数组时,会引发错误“只有长度为1的数组可以转换为Python标量”. 如果查看np.int的调用签名,您会看到它接受单个值,而不是数组.通常...

如何在Python中声明和添加项目到数组?【代码】

我正在尝试在python中向数组添加项目. 我跑array = {}然后,我尝试通过执行以下操作向此数组添加内容:array.append(valueToBeInserted)似乎没有.append方法.如何向数组添加项?解决方法:{}表示空字典,而不是数组/列表.对于列表或数组,您需要[]. 要初始化空列表,请执行以下操作:my_list = []要么my_list = list()要向列表中添加元素,请使用appendmy_list.append(12)要扩展列表以包含来自另一个列表的元素,请使用extendmy_list.exte...

python – 一次获取NumPy数组中的几个元素的索引【代码】

有没有办法一次获取NumPy数组中的几个元素的索引? 例如.import numpy as np a = np.array([1, 2, 4]) b = np.array([1, 2, 3, 10, 4])我想找到a中每个元素的索引,即:[0,1,4]. 我发现我使用的解决方案有点冗长:import numpy as npa = np.array([1, 2, 4]) b = np.array([1, 2, 3, 10, 4])c = np.zeros_like(a) for i, aa in np.ndenumerate(a):c[i] = np.where(b==aa)[0]print('c: {0}'.format(c))输出:c: [0 1 4]解决方法:您可...

python – 删除零线2-D numpy数组【代码】

我在numpy中运行qr分解,它返回一个ndarrays列表,即Qand R:>>> [q,r] = np.linalg.qr(np.array([1,0,0,0,1,1,1,1,1]).reshape(3,3))R是一个二维数组,底部有零线(甚至在我的测试集中的所有例子都证明了这一点):>>> print r [[ 1.41421356 0.70710678 0.70710678][ 0. 1.22474487 1.22474487][ 0. 0. 0. ]].现在,我想将R分成两个矩阵R_~:[[ 1.41421356 0.70710678 0.70710678][ 0. ...

python – 列出要使用ravel()函数的数组转换【代码】

我在python中有一个列表,我想将其转换为数组,以便能够使用ravel()函数.解决方法:使用numpy.asarray:import numpy as np myarray = np.asarray(mylist)

python – 检查项目是否在数组/列表中【代码】

如果我有一个字符串数组,我可以检查一个字符串是否在数组中而不进行for循环吗?具体来说,我正在寻找一种方法在if语句中执行它,所以像这样:if [check that item is in array]:解决方法:假设你的意思是“list”,你说“数组”,你可以这样做if item in my_list:# whatever这适用于任何集合,而不仅仅适用于列表.对于字典,它会检查字典中是否存在给定的键.

python – 为什么用括号和逗号对索引的numpy数组的行为有所不同?【代码】

我倾向于使用括号来索引numpy数组(矩阵),但我注意到当我想切片数组(矩阵)时我必须使用逗号表示法.为什么是这样?例如,>>> x = numpy.array([[1, 2], [3, 4], [5, 6]]) >>> x array([[1, 2],[3, 4],[5, 6]]) >>> x[1][1] 4 # expected behavior >>> x[1,1] 4 # expected behavior >>> x[:][1] array([3, 4]) # huh? >>> x[:,1] array([2, 4, 6]) # expected behavior解决方法:这个:x[:, 1]表...

Pickle在Python 2和3之间不兼容numpy数组【代码】

我正在尝试使用此程序加载在Python 3.2中链接here的MNIST数据集:import pickle import gzip import numpywith gzip.open('mnist.pkl.gz', 'rb') as f:l = list(pickle.load(f))print(l)不幸的是,它给了我错误:Traceback (most recent call last):File "mnist.py", line 7, in <module>train_set, valid_set, test_set = pickle.load(f) UnicodeDecodeError: 'ascii' codec can't decode byte 0x90 in position 614: ordinal not ...