在Python数据帧中将字符串转换为float64
我有一个数据帧(df),如下所示 我正在尝试将dataframe中的值转换为int和float64类型在Python数据帧中将字符串转换为float64,python,pandas,numpy,Python,Pandas,Numpy,我有一个数据帧(df),如下所示 我正在尝试将dataframe中的值转换为int和float64类型 df['poiid'] = df['poiid'].astype(int) df['lng'] = df['lng'].astype('float64') df['lat'] = df['lat'].astype('float64') 上述代码对于float64不正常工作,对于lng和lat属性,它只接受逗号后的6十进制值。(请参见下面的输出) 输出 我的期望值是逗号后的10位数 我的期
df['poiid'] = df['poiid'].astype(int)
df['lng'] = df['lng'].astype('float64')
df['lat'] = df['lat'].astype('float64')
上述代码对于float64不正常工作,对于lng和lat属性,它只接受逗号后的6十进制值。(请参见下面的输出)
输出
我的期望值是逗号后的10位数
我的期望输出:
8904 -94.6074986458, 39.0523183095
...
您看到的只是带有6位小数的默认字符串表示形式。你可以用你自己的 展示10个地方。 或者,如果您查看say
df.loc[1,'lng']
的结果,您可以确认号码
要仅临时设置选项,您可以使用:
您确定这不仅仅是显示精度的限制,而数据帧实际上保存了您所期望的数据吗?您看到的只是默认的字符串表示形式,有6个小数位,数字可能有更多的小数位,请尝试
pd.options.display.float_format='{.10f}'。format
pd.options.display.float_format = '{:.10f}'.format
with pd.option_context('display.float_format', '{:.10f}'.format):
print(df)