在Python数据帧中将字符串转换为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),如下所示

我正在尝试将dataframe中的值转换为int和float64类型

df['poiid'] = df['poiid'].astype(int)
df['lng'] = df['lng'].astype('float64')
df['lat'] = df['lat'].astype('float64')
上述代码对于float64不正常工作,对于lnglat属性,它只接受逗号后的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)