首页 > 解决方案 > 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

标签: pythonarcgisgeopandasqgis

解决方案


推荐阅读