草庐IT

行之有效

全部标签

python - AttributeError : module object has no attribute "Series". 代码在 iPython 中有效

子模块不是隐式导入的,必须显式声明,但我正在显式调用pd.Series子模块,不是吗?无论如何,importpandasaspd难道不应该允许调用pd.Series吗?以下代码在iPython中完美运行,但在从脚本执行时失败。#!/usr/bin/env/python2.7#-*-coding:utf-8-*-importpandasaspdimportnumpyasnpcounts=pd.Series([632,1638,569,115],index=["Firmicutes","Proteobacteria","Actinobacteria","Bacteroidetes"])结果

python - 在 Python 中给定经纬度数据计算距离矩阵的有效方法

我有纬度和经度数据,我需要计算两个包含位置的数组之间的距离矩阵。我用了这个This获取给定纬度和经度的两个位置之间的距离。这是我的代码示例:importnumpyasnpimportmathdefget_distances(locs_1,locs_2):n_rows_1=locs_1.shape[0]n_rows_2=locs_2.shape[0]dists=np.empty((n_rows_1,n_rows_2))#Theloopshereareinefficientforiinxrange(n_rows_1):forjinxrange(n_rows_2):dists[i,j]=ge

python - 提交后清除有效表单

我想在验证后重置表单。目前表单提交生效后仍会显示之前的数据。基本上,我希望表单恢复到所有字段都干净的原始状态。这样做的正确做法是什么?@mod.route('/',methods=['GET','POST'])defhome():form=NewRegistration()ifform.validate_on_submit():#saveindbflash(gettext(u'Thanksfortheregistration.'))returnrender_template("users/registration.html",form=form) 最佳答案

Python - 删除所有非字母并用下划线替换它们的有效方法

defformat_title(title):''.join(map(lambdax:xif(x.isupper()orx.islower())else'_',title.strip()))还有更快的吗? 最佳答案 更快的方法是使用str.translate()这比你的方式快50倍#Youonlyneedtodothisonce>>>title_trans=''.join(chr(c)ifchr(c).isupper()orchr(c).islower()else'_'forcinrange(256))>>>"abcde1234!@

python - 用科学坐标轴作图,改变有效数字的个数

我在matplotlib中制作了以下图,其中使用了plt.ticklabel_format(axis='y',style='sci',scilimits=(0,3))。这会产生一个y轴:现在的问题是我希望y轴具有来自[0,-2,-4,-6,-8,-12]的刻度。我玩过scilimits但无济于事。如何强制刻度只有一位有效数字且没有尾随零,并在需要时为float?MWE添加如下:importmatplotlib.pyplotaspltimportnumpyasnpt=np.arange(0.0,10000.0,10.)s=np.sin(np.pi*t)*np.exp(-t*0.0001)

python - 如何有效地从仅包含零的稀疏矩阵中删除列?

从仅包含零的稀疏矩阵中有效删除列的最佳方法是什么。我有一个我创建并填充了数据的矩阵:matrix=sp.sparse.lil_matrix((100,100))我现在想删除~最后20列,它们只包含零数据。我该怎么做? 最佳答案 如果这只是一个numpy数组,X,那么您可以说X!=0,这将为您提供一个与相同形状的bool数组X,然后您可以使用bool数组索引X,即non_zero_entries=X[X!=0]但这是一个不支持bool索引的稀疏矩阵,如果您尝试X!=0也不会给您想要的东西——它只返回一个看起来像仅当它们是完全相同的矩阵

python - 计算 Vandermonde 矩阵的有效方法

我正在计算Vandermondematrix对于相当大的一维阵列。做到这一点的自然而干净的方法是使用np.vander().但是,我发现这大约是。比基于列表理解的方法慢2.5倍。In[43]:x=np.arange(5000)In[44]:N=4In[45]:%timeitnp.vander(x,N,increasing=True)155µs±205nsperloop(mean±std.dev.of7runs,10000loopseach)#oneofthelistedapproachesfromthedocumentationIn[46]:%timeitnp.flip(np.colu

python - 循环二维数组的有效方法

我有一个2000x4000的二维数组,对于数组中的每个单元格,我必须将单元格的值与由10个相邻单元格(在+/-X和+/-中)制作的掩码的标准偏差进行比较是)。例如,这就是我现在正在做的:importnumpyasnpfromastropy.statsimportsigma_clipped_statsBPmap=[]N=10a=np.random.random((2000,4000))forrowinrange(N,a.shape[0]-N):BPmap_row=[]forcolumninrange(N,a.shape[1]-N):Bpmap_data=np.array(a[row-N:

python - 如何编写异常捕获代码在 Python2.4 到 Python3 中有效

有没有办法编写一个从python2.4兼容到python3的异常捕获代码?像这样的代码:#onlyworksinpython2.4to2.7try:passexceptException,e:print(e)#onlyworksinpython2.6to3.3try:passexceptExceptionase:print(e) 最佳答案 尝试编写同时适用于Python2和Python3的代码最终是徒劳的,因为它们之间存在大量差异。事实上,许多项目现在都在单独的Python2和Python3版本中维护。就是说,如果您执意要以supe

python - 为什么 `for x in list[None:None]:` 有效?

我有一个脚本试图通过二进制搜索读取子集的开始点和结束点,然后使用这些值创建切片以进行进一步处理。我注意到当这些变量没有被设置时(搜索返回None),代码仍然会运行,最后我注意到从None到None的切片就像检查整个列表一样工作(见下面的例子).#!/usr/bin/envpythonlist=[1,2,3,4,5,6,7,8,9,10]forxinlist[None:None]:printx有谁知道为什么选择将list[None:None]简单地视为list[:],至少我是这么认为的(如我错了请纠正我)。我个人认为在这种情况下抛出TypeError是可取的。