Построить записи в кадре с использованием оператора if - PullRequest
0 голосов
/ 06 апреля 2020

У меня есть кадр данных, который выглядит следующим образом:

    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. Как бы я изменил свой код, чтобы выполнить sh this?

1 Ответ

1 голос
/ 06 апреля 2020

Я думаю, что вам просто нужно логическое индексирование и график:

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())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...