python - 将字典转换为数据框时防止数字舍入
问题描述
我编写了一个代码,首先创建一个字典,然后将其转换为数据框。字典包含纬度和经度数据。我的问题是,在转换为数据框的过程中,lon 和 lat 数据是四舍五入的。
代码如下所示:
geodata = {'01067': (13.7210676148814, 51.0600336463379, u'Dresden'),
'01069': (13.7389066401609, 51.039558876083, u'Dresden'),
'01097': (13.7439674110642, 51.0667452412037, u'Dresden'),
'01099': (13.8289798683304, 51.0926193047084, u'Dresden'),
'01109': (13.7619645364861, 51.1201009324663, u'Dresden'),
'01127': (13.733347378178, 51.0796304130158, u'Dresden'),
'01129': (13.7274104697459, 51.0967944759693, u'Dresden'),
'01139': (13.6911443969423, 51.0805574259239, u'Dresden'),
'01157': (13.6708047478723, 51.0643076931977, u'Dresden')}
postal_data1= pd.DataFrame(geodata) # at this point the numbers are rounded
postal_data1 = postal_data1.T
postal_data1['zip'] = postal_data1.index
postal_data1.columns = ['lon', 'lat', 'city', 'zip']
postal_data1 = postal_data1.reindex(columns=['zip', 'lat', 'lon', 'city'])
postal_data1 = postal_data1.reset_index(drop=True)
最后,数据框如下所示:
postal_data1.head()
zip lat lon city
0 01067 51.06 13.7211 Dresden
1 01069 51.0396 13.7389 Dresden
2 01097 51.0667 13.744 Dresden
3 01099 51.0926 13.829 Dresden
4 01109 51.1201 13.762 Dresden
有谁知道如何防止纬度和经度数据的舍入?谢谢您的帮助。
解决方案
那是不需要的。打印的 head() 只是 pandas 在打印中显示的表示。尽管默认数据精度更高,但您可以使用以下方法修改表示:
pd.set_option("display.precision", 10)
推荐阅读
- bokeh - 到嵌入式 Bokeh 服务器的异步流式传输
- javascript - 我想将圆的大小增加到半径 200,然后在 JavaScript 中减小它
- c# - 如何使用 C# 获取图像文本位置 x,y
- python - scapy.sr 和 scapy.srp 的区别
- python - 如何检查我的值中是否有我想要的整数(如果 int 不可迭代)
- angular - 更新 innerHTML 值会将光标位置更改为起点
- reactjs - 如何禁用阴影或更改 Material-UI 的必需组件
- javascript - 为什么错误边界没有在反应组件中触发?
- javascript - 如何获取模板 html 文本
- mysqli - 如果 Codeigniter 不存在,有没有办法让 Codeigniter 自动创建一个名称在配置文件中指定的数据库