Python geopandas - 地图上的 nan 值

Python geopandas - nan values on the map

现在这部分代码为我提供了每个地图区域上每个单元格的数字,即使是那些根本没有数据的单元格。如何仅针对具有初始 table 值的区域显示它?

import matplotlib as mpl
import matplotlib.pyplot as plt
import geopandas as gpd
import pandas as pd

...

variable = 'price'
vmin, vmax = 10,90
fig=plt.figure(figsize=(12,12))

axK = fig.add_subplot(2,2,1)
mergedK.plot(column=variable, cmap='Blues',
            vmin=vmin,
            vmax=vmax,
            linewidth=0.8, ax=axK, edgecolor='0.8')

for _,region in mergedK.iterrows():
    axK.annotate(region['price'],
                  xy=(region.geometry.centroid.x,
                      region.geometry.centroid.y),fontsize=8)
plt.show()

最新的 GeoPandas (0.7.0) 自动处理缺失值。最简单的方法是更新。默认情况下,缺失值不会显示在地图上,但您可以指定样式 kwargs 以您喜欢的方式显示它们。有关详细信息,请参阅 documentation

要跳过缺失值的注释,只需将此条件添加到循环中:

for _,region in mergedK.iterrows():
    if pd.notna(region['price']):
        axK.annotate(region['price'],
                      xy=(region.geometry.centroid.x,
                      region.geometry.centroid.y),fontsize=8)