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”。


这一切的原因是什么?如果我希望在 ArcMap 中签入时 gdf.to_file输出具有“int/integer”字段,我该怎么办?

我的 Python 3.8 版,geopandas 0.9.0

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)