Я перезапускаю код в 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