草庐IT

floating-point-conversion

全部标签

performance - python : Is there a way to keep an automatic conversion from int to long int from happening?

考虑这个例子:>>>fromsysimportmaxint>>>type(maxint)>>>printmaxint9223372036854775807>>>type(maxint+2)>>>printmaxint+29223372036854775809>>>type((maxint+2)+maxint)>>>print((maxint+2)+maxint)18446744073709551616Python将autopromote从一个int,在本例中是一个64位整数值(OSX,python2.6.1)到一个任意精度的pythonlong整数。尽管类型不同,但它们很相似,Pyth

python - 如何使用 PIL Image.point(table) 方法将阈值应用于 256 灰度图像?

我有8位灰度TIFF图像,我想使用75%白色(十进制190)阈值将其转换为单色。在Image.convert(mode)方法部分,PIL手册说:"Whentranslatingagreyscaleimageintoabitlevelimage(mode"1"),allnon-zerovaluesaresetto255(white).Touseotherthresholds,usethepointmethod."Image.point(table)方法表示它通过给定的表格映射每个像素。im.point(table,mode)=>imageim.point(function,mode)=>

python - 在 python 中将 float 转换为 int 的有效方法是什么?

我一直在使用n=int(n)将float转换为int。最近,我遇到了另一种方法来做同样的事情:n=n//1哪种方法最有效,为什么? 最佳答案 用timeit测试:$bin/python-mtimeit-n10000000-s'n=1.345''int(n)'10000000loops,bestof3:0.234usecperloop$bin/python-mtimeit-n10000000-s'n=1.345''n//1'10000000loops,bestof3:0.218usecperloop所以楼层划分只是稍微快一点。请注意,

python - 具有不同大小和颜色的 Mayavi points3d

在mayavi中是否可以单独指定每个点的大小和颜色?那个API对我来说很麻烦。points3d(x,y,z...)points3d(x,y,z,s,...)points3d(x,y,z,f,...)x,yandzarenumpyarrays,orlists,allofthesameshape,givingthepositionsofthepoints.Ifonly3arraysx,y,zaregiven,allthepointsaredrawnwiththesamesizeandcolor.Inaddition,youcanpassafourtharraysofthesameshape

python - 如何设置 str(numpy.float64) 的精度?

我需要将几个numpyfloat写入一个包含额外字符串内容的csv文件。因此我不将savetxt等与numpy.set_printoptions()一起使用我只能定义打印行为,但不能定义str()行为。我知道我错过了一些东西并且它不会那么难,但我没有在互联网上找到合理的答案。也许有人可以指出我正确的方向。下面是一些示例代码:In[1]:importnumpyasnpIn[2]:foo=np.array([1.22334])In[3]:fooOut[3]:array([1.22334])In[4]:foo[0]Out[4]:1.2233400000000001In[5]:str(foo[

python - 对象 `astype(float)` 的 DataFrame 行为因列表或数组而异

我会先声明我一开始不会这样做,我在帮助friend时遇到了这个问题。考虑数据框dfdf=pd.DataFrame(pd.Series([[1.2]]))df00[1.2]这是对象的数据框,其中对象是列表。在我friend的代码中,他们有:df.astype(float)如我所愿,它坏了ValueError:settinganarrayelementwithasequence.但是,如果这些值是numpy数组:df=pd.DataFrame(pd.Series([np.array([1.2])]))df00[1.2]我也尝试过同样的事情:df.astype(float)001.2很高兴做

python - 更改默认 float 打印格式

我有一些列表和更复杂的包含float的结构。打印它们时,我看到带有很多小数位的float,但是打印时,我不需要全部。所以我想在打印float时定义自定义格式(例如2位或3位小数)。我需要使用float而不是小数。此外,我不允许截断/舍入float。有没有办法改变默认行为? 最佳答案 你不能像Ignacio说的那样monkeypatchC类型。但是,如果您在这样做时压力很大并且您了解一些C,您可以自己修改Python解释器源代码,然后将其重新编译为自定义解决方案。一旦我修改了列表的一个标准行为,它只是中等程度的痛苦。我建议你找到一个更

python - 更改默认 float 打印格式

我有一些列表和更复杂的包含float的结构。打印它们时,我看到带有很多小数位的float,但是打印时,我不需要全部。所以我想在打印float时定义自定义格式(例如2位或3位小数)。我需要使用float而不是小数。此外,我不允许截断/舍入float。有没有办法改变默认行为? 最佳答案 你不能像Ignacio说的那样monkeypatchC类型。但是,如果您在这样做时压力很大并且您了解一些C,您可以自己修改Python解释器源代码,然后将其重新编译为自定义解决方案。一旦我修改了列表的一个标准行为,它只是中等程度的痛苦。我建议你找到一个更

python - 如何将具有对象 dtype 的 Numpy 二维数组转换为常规的二维 float 组

作为我正在从事的更广泛计划的一部分,我最终得到了包含字符串、3D坐标等的对象数组。我知道与结构化数组相比,对象数组可能不是很受欢迎,但我希望在不更改大量代码的情况下解决这个问题。让我们假设我的数组obj_array的每一行(有N行)的格式为Singleentry/objectofobj_array:['NAME',[10.0,20.0,30.0],....]现在,我正在尝试加载此对象数组并对3D坐标block进行切片。到这里为止,一切正常,只需简单地询问letsayfor。obj_array[:,[1,2,3]]但是结果也是一个对象数组,我会遇到问题,因为我想形成一个二维float组:

python - 如何将具有对象 dtype 的 Numpy 二维数组转换为常规的二维 float 组

作为我正在从事的更广泛计划的一部分,我最终得到了包含字符串、3D坐标等的对象数组。我知道与结构化数组相比,对象数组可能不是很受欢迎,但我希望在不更改大量代码的情况下解决这个问题。让我们假设我的数组obj_array的每一行(有N行)的格式为Singleentry/objectofobj_array:['NAME',[10.0,20.0,30.0],....]现在,我正在尝试加载此对象数组并对3D坐标block进行切片。到这里为止,一切正常,只需简单地询问letsayfor。obj_array[:,[1,2,3]]但是结果也是一个对象数组,我会遇到问题,因为我想形成一个二维float组: