RuntimeWarning: Неверное значение встречается в меньшем количестве xa[xa ‹ 0] = -1 (Geopandas)

Проблема

Я пытаюсь построить данные о преступности в каждом районе, используя геопанды. Я объединил shapefile данные и данные о преступлениях:

merged = merged[['geometry','Extortion']]
merged.head()

объединенные данные

Пытаться

Затем я попытался нанести данные о преступности поверх карты:

variable = 'Extortion'
vmin, vmax = 120, 220
fig, ax = plt.subplots(1, figsize=(20, 10))
merged.plot(variable, cmap='Blues', linewidth=0.8, ax=ax, edgecolor='0.8')

Ошибка

C:\Users\Navoda\Anaconda3\lib\site-packages\matplotlib\colors.py:504: 
RuntimeWarning: invalid value encountered in less
xa[xa < 0] = -1

Без параметра «переменная» он загружается в базовую карту. Проблема с переменной. Я попытался отключить предупреждения, как предлагалось в большинстве сообщений. Он по-прежнему не загружал данные о преступлениях.

Я проверил место ошибки. Но я не мог понять причину.

Код

if xa.dtype.kind == "f":
        xa *= self.N
        # Negative values are out of range, but astype(int) would truncate
        # them towards zero.
        xa[xa < 0] = -1
        # xa == 1 (== N after multiplication) is not out of range.
        xa[xa == self.N] = self.N - 1
        # Avoid converting large positive values to negative integers.
        np.clip(xa, -1, self.N, out=xa)
        xa = xa.astype(int)

Примечание. Столбец вымогательства не имеет значений NaN.

Как решить эту проблему?


person Pubz    schedule 17.03.2019    source источник
comment
Что вы пытаетесь сделать с xa[xa < 0] = -1? Это недопустимый синтаксис.   -  person NoSplitSherlock    schedule 17.03.2019
comment
Есть ли в столбце «Вымогательство» отрицательные значения?   -  person martinfleis    schedule 17.03.2019
comment
@NoSplitSherlock это не мой код. Это особенно место, на которое указывает ошибка. Он находится в Anaconda3\lib\site-packages\matplotlib\colors.py:504.   -  person Pubz    schedule 17.03.2019
comment
@martinfleis Нет отрицательных значений. Столбец вымогательства имеет положительные значения с плавающей запятой   -  person Pubz    schedule 17.03.2019
comment
@Pubz, похоже, это ошибка либо в GeoPandas, либо в matplotlib. Какие версии вы используете?   -  person martinfleis    schedule 17.03.2019
comment
@martinfleis matplotlib 2.2.2 геопанды 0.4.1   -  person Pubz    schedule 17.03.2019
comment
Попробуйте сначала обновить matplotlib. Текущая версия 3.0.3.   -  person martinfleis    schedule 17.03.2019
comment
Я обновил matplotlib. Но проблема не устранена. геопандас обновлен.   -  person Pubz    schedule 17.03.2019
comment
В этом случае я бы проверил ваши данные (но вы сказали, что все в порядке), а затем заполнил бы вопрос здесь: github.com/geopandas/geopandas/issues . Если ваш столбец данных имеет только положительные числа с плавающей запятой, это должно быть ошибкой.   -  person martinfleis    schedule 17.03.2019
comment
Отсортируйте по столбцу Extortion и внимательно проверьте его значения. Есть ли странные значения?   -  person jberrio    schedule 18.03.2019


Ответы (1)


Я получил ту же ошибку, и при проверке она была вызвана тем, что полигоны в моем шейп-файле не были представлены в данных, поэтому просто потребовалась замена NAN, которые были созданы при слиянии, например

merged['Extortion']=merged['Extortion'].fillna(0)
person pd3    schedule 03.12.2019