python - gdf.to_file 数值处理
问题描述
我有一个需要写入 shapefile 的 Geopandas 数据框。它包含两个数字字段 A 和 B。A 中的所有值都是 1,B 中的所有值都是 0。它们是这样添加的:
gdf['A'] = 1
gdf['B'] = 0
在这一点上,如果我这样做:
print(gdf['A'].dtype)
print(gdf['B'].dtype)
我会得到
int64
int64
然后,如果我这样做:
gdf.to_file(new_shapefile.shp)
当我在 ArcMap 10.2 的输出 shapefile 中检查它们的字段类型时,两个字段都显示为“Double”类型,当我在 QGIS 中检查时,都显示为“qlonglong/Integer64”。
我还尝试在 ArcMap 中添加空白字段“short”和“double”进行测试,但这次新添加的字段在 QGIS 中分别显示为“int/integer”和“double/Real”。
这一切的原因是什么?如果我希望我的输出gdf.to_file
在 ArcMap 中检查时具有“int/integer”字段,该怎么办?
我的 Python 3.8 版,geopandas 0.9.0
解决方案
推荐阅读
- c# - SOAP 请求 Web 服务结构结果
- python - 有人能告诉我为什么这个程序不工作吗?
- layout - 破折号布局是个谜——我觉得我在用 Lisp 编程
- oracle - 如何在 ODI 中将数据从 HIVE 加载到 HIVE 时设置 HIVE 属性
- python - 为什么我的嵌套字典重复一个键?
- node.js - Socket.io - 客户端自动监听来自服务器的数据变化
- php - 如何在laravel中排序后分页
- javascript - 如何使用 Javascript 仅从 xml 格式中提取所需的数据,如下所示
- amazon-web-services - 是否有用于获取 lambda 函数使用的实际内存的 boto 3 (aws sdk for python) API?
- java - 如何设置两个变量等于某人在 java 中键入的内容?