草庐IT

integer-math

全部标签

python - 哪个更准确,x**.5 还是 math.sqrt(x)?

我最近发现x**.5和math.sqrt(x)在Python中并不总是产生相同的结果:Python2.6.1(r261:67517,Dec42008,16:51:00)[MSCv.150032bit(Intel)]onwin32>>>8885558**.5-math.sqrt(8885558)-4.5474735088646412e-13检查所有小于10**7的整数,这两种方法对几乎正好0.1%的样本产生了不同的结果,对于较大的数字,误差的大小(缓慢地)增加。那么问题来了,哪种方法更准确? 最佳答案 两者都不是更准确,它们都与实际答

python - 哪个更准确,x**.5 还是 math.sqrt(x)?

我最近发现x**.5和math.sqrt(x)在Python中并不总是产生相同的结果:Python2.6.1(r261:67517,Dec42008,16:51:00)[MSCv.150032bit(Intel)]onwin32>>>8885558**.5-math.sqrt(8885558)-4.5474735088646412e-13检查所有小于10**7的整数,这两种方法对几乎正好0.1%的样本产生了不同的结果,对于较大的数字,误差的大小(缓慢地)增加。那么问题来了,哪种方法更准确? 最佳答案 两者都不是更准确,它们都与实际答

python - 为什么 math.floor(x/y) != x//y 用于 Python 中的两个可整除的 float ?

我一直在阅读Python中的除法和整数除法以及Python2与Python3中除法之间的差异。在大多数情况下,这一切都是有道理的。Python2仅在两个值都是整数时才使用整数除法。Python3总是执行真正的除法。Python2.2+引入了用于整数除法的//运算符。其他程序员提供的例子很好,整洁,例如:>>>1.0//2.0#floorsresult,returnsfloat0.0>>>-1//2#negativesarestillfloored-1//是如何实现的?为什么会发生以下情况:>>>importmath>>>x=0.5>>>y=0.1>>>x/y5.0>>>math.flo

python - 为什么 math.floor(x/y) != x//y 用于 Python 中的两个可整除的 float ?

我一直在阅读Python中的除法和整数除法以及Python2与Python3中除法之间的差异。在大多数情况下,这一切都是有道理的。Python2仅在两个值都是整数时才使用整数除法。Python3总是执行真正的除法。Python2.2+引入了用于整数除法的//运算符。其他程序员提供的例子很好,整洁,例如:>>>1.0//2.0#floorsresult,returnsfloat0.0>>>-1//2#negativesarestillfloored-1//是如何实现的?为什么会发生以下情况:>>>importmath>>>x=0.5>>>y=0.1>>>x/y5.0>>>math.flo

python : name 'math' is not defined Error?

我是python初学者,不明白为什么会这样:frommathimport*print"enterthenumber"n=int(raw_input())d=2s=0whiled在Python中运行它并输入非素数会出现错误Traceback(mostrecentcalllast):File"C:\Python27\mitocw\pset1a.py",line28,inx=math.log(d)NameError:name'math'isnotdefined 最佳答案 改变frommathimport*到importmath使用from

python : name 'math' is not defined Error?

我是python初学者,不明白为什么会这样:frommathimport*print"enterthenumber"n=int(raw_input())d=2s=0whiled在Python中运行它并输入非素数会出现错误Traceback(mostrecentcalllast):File"C:\Python27\mitocw\pset1a.py",line28,inx=math.log(d)NameError:name'math'isnotdefined 最佳答案 改变frommathimport*到importmath使用from

python - 将python列表复制到numpy数组时,如何防止TypeError : list indices must be integers, not tuple?

我正在尝试使用来自另一个名为mean_data的数组中的数据创建3个numpy数组/列表,如下所示:--->39R=np.array(mean_data[:,0])40P=np.array(mean_data[:,1])41Z=np.array(mean_data[:,2])当我尝试运行程序时出现错误:TypeError:listindicesmustbeintegers,nottuplemean_data列表看起来像这个示例...[6.0,315.0,4.8123788544375692e-06],[6.5,0.0,2.259217450023793e-06],[6.5,45.0,9

python - 将python列表复制到numpy数组时,如何防止TypeError : list indices must be integers, not tuple?

我正在尝试使用来自另一个名为mean_data的数组中的数据创建3个numpy数组/列表,如下所示:--->39R=np.array(mean_data[:,0])40P=np.array(mean_data[:,1])41Z=np.array(mean_data[:,2])当我尝试运行程序时出现错误:TypeError:listindicesmustbeintegers,nottuplemean_data列表看起来像这个示例...[6.0,315.0,4.8123788544375692e-06],[6.5,0.0,2.259217450023793e-06],[6.5,45.0,9

python - 索引 Pandas 数据帧 : integer rows, 命名列

说df是一个Pandas数据框。df.loc[]只接受名字df.iloc[]只接受整数(实际位置)df.ix[]接受名称和整数:当引用行时,df.ix[row_idx,]只想被命名。例如df=pd.DataFrame({'a':['one','two','three','four','five','six'],'1':np.arange(6)})df=df.ix[2:6]print(df)1a22three33four44five55sixdf.ix[0,'a']抛出一个错误,它不会返回“二”。当引用列时,iloc更喜欢整数,而不是名称。例如df.ix[2,1]返回“三”,而不是2。(

python - 索引 Pandas 数据帧 : integer rows, 命名列

说df是一个Pandas数据框。df.loc[]只接受名字df.iloc[]只接受整数(实际位置)df.ix[]接受名称和整数:当引用行时,df.ix[row_idx,]只想被命名。例如df=pd.DataFrame({'a':['one','two','three','four','five','six'],'1':np.arange(6)})df=df.ix[2:6]print(df)1a22three33four44five55sixdf.ix[0,'a']抛出一个错误,它不会返回“二”。当引用列时,iloc更喜欢整数,而不是名称。例如df.ix[2,1]返回“三”,而不是2。(