使用 if 语句绘制数据框条目

Plot dataframe entries using if statement

我有一个如下所示的数据框:

    Rank    Name    Pop_2019    Pop_2018    Change  latitude    longitude   TC Risk
 0  1       Tokyo   37393129    37435191    -0.0011 35.682839   139.759455  1.0
1   2       Delhi   30290936    29399141    0.0303  28.651718   77.221939   0.0
2   3       Shanghai    27058479    26317104    0.0282  31.232276   121.469207  1.0
3   4       Sao Paulo   22043028    21846507    0.0090  -23.550651  -46.633382  0.0
4   5       Mexico City 21782378    21671908    0.0051  19.432630   -99.133178  0.0

我想绘制 'TC Risk' = 1 的城市的经纬度。这是我使用的代码:

ax = plt.axes(projection=ccrs.PlateCarree())
ax.stock_img()
if data['TC Risk'].any()==1:
    ax.scatter(data['longitude'],data['latitude'], transform=ccrs.Geodetic())

但是,这只是绘制了每个纬度和经度点,而不仅仅是 'TC Risk' = 1 的那些点。我将如何修改我的代码来完成此操作?

我认为你只需要布尔索引和绘图:

ax = plt.axes(projection=ccrs.PlateCarree())
ax.stock_img()

plot_data = data[data['TC Risk']==1]
ax.scatter(plot_data['longitude'], plot_data['latitude'], transform=ccrs.Geodetic())