如何避免Jupyter Notebook中Geopandas代码打印多余索引
解决Jupyter Notebook中Geopandas sjoin后打印完整索引的问题
在Jupyter Notebook中,代码块最后一个表达式的结果会被自动输出,你的代码最后一行是joined变量的赋值操作,因此Notebook会打印出该变量的完整内容,包括全部索引。可以通过以下几种方式避免:
在最后一行末尾添加分号:分号会抑制Jupyter的自动输出行为,修改后的代码如下:
import geopandas as gpd gdf = gpd.read_file("adm4.shp") gdf['coordinates'] = gdf.geometry.apply(lambda x: (x.centroid.y, x.centroid.x)) df['coordinates'] = list(zip(df.latitude_geopy, df.longitude_geopy)) joined = gpd.sjoin(gdf, df, how="inner", op='contains', lsuffix='left', rsuffix='right');不让变量赋值成为代码块最后一行:在最后添加一个非赋值类语句,比如空打印操作,就能阻止完整结果输出:
import geopandas as gpd gdf = gpd.read_file("adm4.shp") gdf['coordinates'] = gdf.geometry.apply(lambda x: (x.centroid.y, x.centroid.x)) df['coordinates'] = list(zip(df.latitude_geopy, df.longitude_geopy)) joined = gpd.sjoin(gdf, df, how="inner", op='contains', lsuffix='left', rsuffix='right') print()按需查看部分数据:如果需要查看结果但不想输出全部内容,用
head()或tail()方法只显示前几行/后几行即可:import geopandas as gpd gdf = gpd.read_file("adm4.shp") gdf['coordinates'] = gdf.geometry.apply(lambda x: (x.centroid.y, x.centroid.x)) df['coordinates'] = list(zip(df.latitude_geopy, df.longitude_geopy)) joined = gpd.sjoin(gdf, df, how="inner", op='contains', lsuffix='left', rsuffix='right') joined.head() # 仅显示前5行数据
内容的提问来源于stack exchange,提问作者Simon GIS
相关产品推荐
相关产品推荐

