草庐IT

python - 检查 float 是否接近存储在数组中的任何 float

我需要检查给定的float是否在给定的公差范围内接近float数组中的任何float。importnumpyasnp#Myfloata=0.27#Thetolerancet=0.01#Arrayoffloatsarr_f=np.arange(0.05,0.75,0.008)有没有简单的方法来做到这一点?类似于ifainarr_f:但是允许差异有一些容差吗?添加“允许容忍”是指以下含义:foriinarr_f:ifabs(a-i) 最佳答案 如何使用np.isclose?>>>np.isclose(arr_f,a,atol=0.01)

python - 如何产生 "Callable function"

我目前正在编写一个名为f_from_data的python定义,它在一条线上使用插值查找点,到目前为止我已经写了这个:deff_from_data(xs,ys,x):xfine=np.linspace(min(xs),max(xs),10000)y0=inter.interp1d(xs,ys,kind='linear')ans=(y0(xfine))[numpy.searchsorted(xfine,x)]ans=round(ans,2)returnans这给了我想要的东西,我需要制作它以便我可以输入:f=f_from_data([3,4,6],[0,1,2])printf(3)>>>

python - 在 numpy 数组中查找连续的零

我有以下数组a=[1,2,3,0,0,0,0,0,0,4,5,6,0,0,0,0,9,8,7,0,10,11]我想找到值连续为零的数组的开始和结束索引。对于上面的数组,输出如下[3,8],[12,15],[19]我想尽可能高效地实现这一目标。 最佳答案 这是一个相当紧凑的矢量化实现。我稍微改变了要求,所以返回值有点“numpythonic”:它创建一个形状为(m,2)的数组,其中m是零的“游程”数。第一列是每次运行中第一个0的索引,第二列是运行后第一个非零元素的索引。(例如,此索引模式匹配切片的工作方式以及range函数的工作方式。

python - 创建一个 Pandas 滚动窗口系列数组

假设我有以下代码:importnumpyasnpimportpandasaspdx=np.array([1.0,1.1,1.2,1.3,1.4])s=pd.Series(x,index=[1,2,3,4,5])这会产生以下:11.021.131.241.351.4现在我想要创建的是一个大小为n的滚动窗口,但我不想获取每个窗口的均值或标准差,我只需要数组。所以,假设n=3。我想要一个转换,在给定输入s的情况下输出以下系列:1array([1.0,nan,nan])2array([1.1,1.0,nan])3array([1.2,1.1,1.0])4array([1.3,1.2,1.1])

python - 创建 NumPy 数组的多个幂的矢量化方法是什么?

我有一个NumPy数组:arr=[[1,2],[3,4]]我想创建一个新数组,其中包含arr的幂,直到order的幂:#arr_new=[arr^0,arr^1,arr^2,arr^3,...arr^order]arr_new=[[1,1,1,2,1,4,1,8],[1,1,3,4,9,16,27,64]]我目前的方法是使用for循环:#Pre-allocateanarrayforpowersarr=np.array([[1,2],[3,4]])order=3rows,cols=arr.shapearr_new=np.zeros((rows,(order+1)*cols))#Itera

python - 使用 pytables 构建一个巨大的 numpy 数组

如何使用pytables创建一个巨大的numpy数组。我试过了,但给了我“ValueError:数组太大。”错误:importnumpyasnpimporttablesastbndim=60000h5file=tb.openFile('test.h5',mode='w',title="TestArray")root=h5file.rooth5file.createArray(root,"test",np.zeros((ndim,ndim),dtype=float))h5file.close() 最佳答案 顺应@b1r3k的响应,要创

python - 二进制 numpy 数组之间的快速汉明距离计算

我有两个包含二进制值的相同长度的numpy数组importnumpyasnpa=np.array([1,1,1,1,1,1,0,1,1,0,1,1,1,0,0,0,0,1,1,1,0])b=np.array([1,1,1,1,0,1,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1])我想尽快计算出它们之间的汉明距离,因为我要进行数百万次这样的距离计算。这是一个简单但缓慢的选项(取自维基百科):%timeitsum(ch1!=ch2forch1,ch2inzip(a,b))10000loops,bestof3:79usperloop我想出了更快的选项,灵感来自这里关于堆栈溢出

python - 更改列时出现稀疏效率警告

deftdm_modify(feature_names,tdm):non_useful_words=['kill','stampede','trigger','cause','death','hospital'\,'minister','said','told','say','injury','victim','report']indexes=[feature_names.index(word)forwordinnon_useful_words]forindexinindexes:tdm[:,index]=0returntdm我想为tdm矩阵中的某些项手动设置零权重。使用上面的代码我得

python - 乘积的有效双和

考虑两个长度为n的ndarrays,arr1和arr2。我正在计算以下乘积总和,并执行num_runs次基准测试:importnumpyasnpimporttimenum_runs=1000n=100arr1=np.random.rand(n)arr2=np.random.rand(n)start_comp=time.clock()forrinxrange(num_runs):sum_prods=np.sum([arr1[i]*arr2[j]foriinxrange(n)forjinxrange(i+1,n)])print"totaltimeforcomprehension=",tim

python - Numpy 导入抛出 AttributeError : 'module' object has no attribute 'core'

importnumpyasnpFile"/home/anirrudh/.virtualenvs/ml4t2/local/lib/python2.7/site-packages/numpy/__init__.py",line180,infrom.importadd_newdocsFile"/home/anirrudh/.virtualenvs/ml4t2/local/lib/python2.7/site-packages/numpy/add_newdocs.py",line13,infromnumpy.libimportadd_newdocFile"/home/anirrudh/.vir