Невозможно использовать атрибут «схема» при печати GeoDataFrame - PullRequest
0 голосов
/ 05 марта 2019

Я перезапускаю код в https://www.kaggle.com/skalskip/using-regression-to-predicting-earnings-in-france под Python 3.6, и на этапе построения я запустил следующий код:

fig, ax = plt.subplots(1, figsize=(15,14))
ax.set_title('Salary by Departments', size=32, x = 0.25, y=0.90)
fig.patch.set_facecolor((202/255, 204/255, 206/255))
departments_map.plot(ax=ax, column="SNHM14", cmap=plt.cm.plasma, k=10, legend=True)
leg = ax.get_legend()
ax.set_axis_off()
leg.set_bbox_to_anchor((0., 0., 0.2, 0.45))
leg.set_title("Mean net salary")

Я получил:

ImportError: PySAL is required to use the 'scheme' keyword

Тип файла dataframepartments_map: geopandas.geodataframe.GeoDataFrame .

Я сделал pip install pysal, и он показал, что Successfully installed pysal-2.0.0. Но я снова запускаю проблему, та же самая.Я сослался на исходный код / geopandas / plotting.py и обнаружил, что источником может быть:

...
...
...
    try:
        from pysal.esda.mapclassify import Quantiles, Equal_Interval, Fisher_Jenks
        schemes = {}
        schemes['equal_interval'] = Equal_Interval  
        schemes['quantiles'] = Quantiles    
        schemes['fisher_jenks'] = Fisher_Jenks
        scheme = scheme.lower()
        if scheme not in schemes:
            raise ValueError("Invalid scheme. Scheme must be in the set: %r" % schemes.keys())

        binning = schemes[scheme](values, k)

        return binning

    except ImportError: 
        raise ImportError("PySAL is required to use the 'scheme' keyword")

Я думаю, что проблема в pysal.esda.mapclassify и я посмотрел на пакет Pysal, который я установил, но под руководством основателя Pysal я не нашел путь pysal\esda\mapclassify.Вот как выглядит ..\Python\Lib\site-packages\pysal на моем компьютере:

  • __ pycache __
  • explore
  • lib
  • модель
  • viz
  • __ init __. py

Я нашел папку mapclassify, но она находится в папке «viz» вместо «esda».

Это проблема с версией?

Обновление: благодаря ответу от @ martinfleis Я понизил уровень до 1.14.4. Но теперь новая ошибка поднимается:

........
........
  File "F:\Python\lib\site-packages\matplotlib\artist.py", line 881, in _update_property
    raise AttributeError('Unknown property %s' % k)

AttributeError: Unknown property scheme

1 Ответ

0 голосов
/ 05 марта 2019

PySAL 2.0 имеет новую структуру.Скоро появится исправление для GeoPandas ( как сегодня ).Вы можете либо подождать этого (версия 0.4.1), либо использовать GeoPandas от мастера через pip install git+git://github.com/geopandas/geopandas.git.Или, в качестве альтернативы, понизьте PySAL до 1.x.

...