在具有值范围的数字中,如何将小数点向左移动,直到Python中保留一位整数
我想取一个像:12345678这样的数字,然后把它转换成1.2345678,只留下一个一位数的整数和任何小数点 将12345678乘以0.0000001适用于上述示例,但如果数字为1234则不适用。数字会发生变化,因此静态乘数将无法工作在具有值范围的数字中,如何将小数点向左移动,直到Python中保留一位整数,python,python-3.x,pandas,rounding,Python,Python 3.x,Pandas,Rounding,我想取一个像:12345678这样的数字,然后把它转换成1.2345678,只留下一个一位数的整数和任何小数点 将12345678乘以0.0000001适用于上述示例,但如果数字为1234则不适用。数字会发生变化,因此静态乘数将无法工作 有没有一种方法可以帮助你?如果可以在一个数据帧内完成,则会得到奖励 您可以使用np.log10和astype(int)查找正确的电源: df['number'] /= 10**(np.log10(df['number']).astype(int)) 输出:
有没有一种方法可以帮助你?如果可以在一个数据帧内完成,则会得到奖励 您可以使用
np.log10
和astype(int)
查找正确的电源:
df['number'] /= 10**(np.log10(df['number']).astype(int))
输出:
number
0 1.234568
1 1.234000
以下面的dataframe为例:
In [1192]: df
Out[1192]:
a
0 12345678
1 1234
您可以使用Python的基本功能:
我有两种想法
A= Str (xxxxxxx)
B = float (A[0]+”.”+A[1:len(A)])
另一种方式:
A=A / pow(10,len(str(A)-1)
A=A / pow(10,len(str(A)-1)