Multipoint(df['geometry']) key error from dataframe but key exist. KeyError: 13 geopandas
Multipoint(df['geometry']) key error from dataframe but key exist. KeyError: 13 geopandas
数据来源:https://catalog.data.gov/dataset/nyc-transit-subway-entrance-and-exit-data
我尝试寻找类似的问题,但找不到答案,而且错误也没有太大帮助。在这一点上我有点沮丧。
谢谢您的帮助。
我正在计算距某个点最近的距离。
df_subway = pd.read_csv('/content/drive/MyDrive/Despliegue_de_modelos/NYC_Transit_Subway_Entrance_And_Exit_Data.csv')
geometry = [Point(xy) for xy in zip(df_subway['Station Longitude'], df_subway['Station Latitude'])]
# Coordinate reference system :
crs = {'init': 'EPSG:4326'}
# Creating a Geographic data frame
gdf_subway_entrance_geometry = gpd.GeoDataFrame(df_subway, crs=crs, geometry=geometry).to_crs('EPSG:5234')
gdf_subway_entrance_geometry
df_yes_entry = gdf_subway_entrance_geometry[gdf_subway_entrance_geometry.Entry=='YES']
df_yes_entry
from shapely.geometry import Point, MultiPoint
from shapely.ops import nearest_points
pts = MultiPoint(df_yes_entry['geometry']) #it fails in this line
pt = Point(gpdPoint.x, gpdPoint.y)
#[o.wkt for o in nearest_points(pt, pts)]
for o in nearest_points(pt, pts):
print(o)
问题是,如果我做同样的事情,但使用 gdf_subway_entrance_geometry 而不是 df_yes_entry 它可以工作,但我需要做一些过滤器!
This is the error:
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
/usr/local/lib/python3.7/dist-packages/pandas/core/indexes/base.py in get_loc(self, key, method, tolerance)
2897 try:
-> 2898 return self._engine.get_loc(casted_key)
2899 except KeyError as err:
pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()
pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()
pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.Int64HashTable.get_item()
pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.Int64HashTable.get_item()
KeyError: 13
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
7 frames
<ipython-input-480-b6733def46e0> in <module>()
1 from shapely.geometry import Point, MultiPoint
2 from shapely.ops import nearest_points
----> 3 pts = MultiPoint(df_yes_entry['geometry'])
4 pt = Point(gpdPoint.x, gpdPoint.y)
5 #[o.wkt for o in nearest_points(pt, pts)]
/usr/local/lib/python3.7/dist-packages/shapely/geometry/multipoint.py in __init__(self, points)
56 pass
57 else:
---> 58 self._geom, self._ndim = geos_multipoint_from_py(points)
59
60 def shape_factory(self, *args):
/usr/local/lib/python3.7/dist-packages/shapely/geometry/multipoint.py in geos_multipoint_from_py(ob)
169 # add to coordinate sequence
170 for i in range(m):
--> 171 coords = ob[i]
172 geom, ndims = point.geos_point_from_py(coords)
173
/usr/local/lib/python3.7/dist-packages/geopandas/geoseries.py in __getitem__(self, key)
606
607 def __getitem__(self, key):
--> 608 return self._wrapped_pandas_method("__getitem__", key)
609
610 @doc(pd.Series)
/usr/local/lib/python3.7/dist-packages/geopandas/geoseries.py in _wrapped_pandas_method(self, mtd, *args, **kwargs)
599 def _wrapped_pandas_method(self, mtd, *args, **kwargs):
600 """Wrap a generic pandas method to ensure it returns a GeoSeries"""
--> 601 val = getattr(super(), mtd)(*args, **kwargs)
602 if type(val) == Series:
603 val.__class__ = GeoSeries
/usr/local/lib/python3.7/dist-packages/pandas/core/series.py in __getitem__(self, key)
880
881 elif key_is_scalar:
--> 882 return self._get_value(key)
883
884 if is_hashable(key):
/usr/local/lib/python3.7/dist-packages/pandas/core/series.py in _get_value(self, label, takeable)
988
989 # Similar to Index.get_value, but we do not fall back to positional
--> 990 loc = self.index.get_loc(label)
991 return self.index._get_values_for_loc(self, loc, label)
992
/usr/local/lib/python3.7/dist-packages/pandas/core/indexes/base.py in get_loc(self, key, method, tolerance)
2898 return self._engine.get_loc(casted_key)
2899 except KeyError as err:
-> 2900 raise KeyError(key) from err
2901
2902 if tolerance is not None:
KeyError: 13
我正在使用 colab,这是我的软件包:
Package Version
----------------------------- --------------
absl-py 0.12.0
alabaster 0.7.12
albumentations 0.1.12
altair 4.1.0
appdirs 1.4.4
argcomplete 1.12.3
argon2-cffi 21.1.0
arviz 0.11.4
astor 0.8.1
astropy 4.3.1
astunparse 1.6.3
atari-py 0.2.9
atomicwrites 1.4.0
attrs 21.2.0
audioread 2.1.9
autograd 1.3
Babel 2.9.1
backcall 0.2.0
beautifulsoup4 4.6.3
bleach 4.1.0
blis 0.4.1
bokeh 2.4.0
Bottleneck 1.3.2
branca 0.4.2
bs4 0.0.1
CacheControl 0.12.6
cached-property 1.5.2
cachetools 4.2.4
Cartopy 0.19.0.post1
catalogue 1.0.0
certifi 2021.5.30
cffi 1.14.6
cftime 1.5.1
chardet 3.0.4
charset-normalizer 2.0.6
clang 5.0
click 7.1.2
click-plugins 1.1.1
cligj 0.7.2
cloudpickle 1.3.0
cmake 3.12.0
cmdstanpy 0.9.5
colorcet 2.0.6
colorlover 0.3.0
community 1.0.0b1
contextlib2 0.5.5
convertdate 2.3.2
coverage 3.7.1
coveralls 0.5
crcmod 1.7
cufflinks 0.17.3
cvxopt 1.2.7
cvxpy 1.0.31
cycler 0.10.0
cymem 2.0.5
Cython 0.29.24
daft 0.0.4
dask 2.12.0
datascience 0.10.6
debugpy 1.0.0
decorator 4.4.2
defusedxml 0.7.1
descartes 1.1.0
dill 0.3.4
distributed 1.25.3
dlib 19.18.0
dm-tree 0.1.6
docopt 0.6.2
docutils 0.17.1
dopamine-rl 1.0.5
earthengine-api 0.1.284
easydict 1.9
ecos 2.0.7.post1
editdistance 0.5.3
en-core-web-sm 2.2.5
entrypoints 0.3
ephem 4.1
et-xmlfile 1.1.0
fa2 0.3.5
fastai 1.0.61
fastdtw 0.3.4
fastprogress 1.0.0
fastrlock 0.6
fbprophet 0.7.1
feather-format 0.4.1
filelock 3.3.0
Fiona 1.8.20
firebase-admin 4.4.0
fix-yahoo-finance 0.0.22
Flask 1.1.4
flatbuffers 1.12
folium 0.8.3
future 0.16.0
gast 0.4.0
GDAL 2.2.2
gdown 3.6.4
gensim 3.6.0
geographiclib 1.52
geopandas 0.10.1
geopy 1.17.0
geoviews 1.9.2
gin-config 0.4.0
glob2 0.7
google 2.0.3
google-api-core 1.26.3
google-api-python-client 1.12.8
google-auth 1.35.0
google-auth-httplib2 0.0.4
google-auth-oauthlib 0.4.6
google-cloud-bigquery 1.21.0
google-cloud-bigquery-storage 1.1.0
google-cloud-core 1.0.3
google-cloud-datastore 1.8.0
google-cloud-firestore 1.7.0
google-cloud-language 1.2.0
google-cloud-storage 1.18.1
google-cloud-translate 1.5.0
google-colab 1.0.0
google-pasta 0.2.0
google-resumable-media 0.4.1
googleapis-common-protos 1.53.0
googledrivedownloader 0.4
graphviz 0.10.1
greenlet 1.1.2
grpcio 1.41.0
gspread 3.0.1
gspread-dataframe 3.0.8
gym 0.17.3
h5py 3.1.0
HeapDict 1.0.1
hijri-converter 2.2.2
holidays 0.10.5.2
holoviews 1.14.6
html5lib 1.0.1
htmlmin 0.1.12
httpimport 0.5.18
httplib2 0.17.4
httplib2shim 0.0.3
humanize 0.5.1
hyperopt 0.1.2
ideep4py 2.0.0.post3
idna 2.10
ImageHash 4.2.1
imageio 2.4.1
imagesize 1.2.0
imbalanced-learn 0.4.3
imblearn 0.0
imgaug 0.2.9
importlib-metadata 4.8.1
importlib-resources 5.2.2
imutils 0.5.4
inflect 2.1.0
iniconfig 1.1.1
intel-openmp 2021.4.0
intervaltree 2.1.0
ipykernel 4.10.1
ipython 5.5.0
ipython-genutils 0.2.0
ipython-sql 0.3.9
ipywidgets 7.6.5
itsdangerous 1.1.0
jax 0.2.21
jaxlib 0.1.71+cuda111
jdcal 1.4.1
jedi 0.18.0
jieba 0.42.1
Jinja2 2.11.3
joblib 1.0.1
jpeg4py 0.1.4
jsonschema 2.6.0
jupyter 1.0.0
jupyter-client 5.3.5
jupyter-console 5.2.0
jupyter-core 4.8.1
jupyterlab-pygments 0.1.2
jupyterlab-widgets 1.0.2
kaggle 1.5.12
kapre 0.3.5
keras 2.6.0
Keras-Preprocessing 1.1.2
keras-vis 0.4.1
kiwisolver 1.3.2
korean-lunar-calendar 0.2.1
librosa 0.8.1
lightgbm 2.2.3
llvmlite 0.34.0
lmdb 0.99
LunarCalendar 0.0.9
lxml 4.2.6
Markdown 3.3.4
MarkupSafe 2.0.1
matplotlib 3.2.2
matplotlib-inline 0.1.3
matplotlib-venn 0.11.6
missingno 0.5.0
mistune 0.8.4
mizani 0.6.0
mkl 2019.0
mlxtend 0.14.0
more-itertools 8.10.0
moviepy 0.2.3.5
mpmath 1.2.1
msgpack 1.0.2
multimethod 1.6
multiprocess 0.70.12.2
multitasking 0.0.9
munch 2.5.0
murmurhash 1.0.5
music21 5.5.0
natsort 5.5.0
nbclient 0.5.4
nbconvert 5.6.1
nbformat 5.1.3
nest-asyncio 1.5.1
netCDF4 1.5.7
networkx 2.6.3
nibabel 3.0.2
nltk 3.2.5
notebook 5.3.1
numba 0.51.2
numexpr 2.7.3
numpy 1.19.5
nvidia-ml-py3 7.352.0
oauth2client 4.1.3
oauthlib 3.1.1
okgrade 0.4.3
opencv-contrib-python 4.1.2.30
opencv-python 4.1.2.30
openpyxl 2.5.9
opt-einsum 3.3.0
osqp 0.6.2.post0
packaging 21.0
palettable 3.3.0
pandas 1.1.5
pandas-datareader 0.9.0
pandas-gbq 0.13.3
pandas-profiling 3.1.0
pandocfilters 1.5.0
panel 0.12.4
param 1.11.1
parso 0.8.2
pathlib 1.0.1
patsy 0.5.2
pep517 0.11.0
pexpect 4.8.0
phik 0.12.0
pickleshare 0.7.5
Pillow 7.1.2
pip 21.1.3
pip-tools 6.2.0
plac 1.1.3
plotly 4.4.1
plotnine 0.6.0
pluggy 0.7.1
pooch 1.5.1
portpicker 1.3.9
prefetch-generator 1.0.1
preshed 3.0.5
prettytable 2.2.1
progressbar2 3.38.0
prometheus-client 0.11.0
promise 2.3
prompt-toolkit 1.0.18
protobuf 3.17.3
psutil 5.4.8
psycopg2 2.7.6.1
ptyprocess 0.7.0
py 1.10.0
pyarrow 3.0.0
pyasn1 0.4.8
pyasn1-modules 0.2.8
pycocotools 2.0.2
pycparser 2.20
pyct 0.4.8
pydantic 1.8.2
pydata-google-auth 1.2.0
pydot 1.3.0
pydot-ng 2.0.0
pydotplus 2.0.2
PyDrive 1.3.1
pyemd 0.5.1
pyerfa 2.0.0
pyglet 1.5.0
Pygments 2.6.1
pygobject 3.26.1
pymc3 3.11.4
PyMeeus 0.5.11
pymongo 3.12.0
pymystem3 0.2.0
PyOpenGL 3.1.5
pyparsing 2.4.7
pyproj 3.2.1
pyrsistent 0.18.0
pyshp 2.1.3
pysndfile 1.3.8
PySocks 1.7.1
pystan 2.19.1.1
pytest 3.6.4
python-apt 0.0.0
python-chess 0.23.11
python-dateutil 2.8.2
python-louvain 0.15
python-slugify 5.0.2
python-utils 2.5.6
pytz 2018.9
pyviz-comms 2.1.0
PyWavelets 1.1.1
PyYAML 5.4.1
pyzmq 22.3.0
qdldl 0.1.5.post0
qtconsole 5.1.1
QtPy 1.11.2
regex 2019.12.20
requests 2.26.0
requests-oauthlib 1.3.0
resampy 0.2.2
retrying 1.3.3
rpy2 3.4.5
rsa 4.7.2
scikit-image 0.16.2
scikit-learn 0.22.2.post1
scipy 1.7.1
screen-resolution-extra 0.0.0
scs 2.1.4
seaborn 0.11.2
semver 2.13.0
Send2Trash 1.8.0
setuptools 57.4.0
setuptools-git 1.2
Shapely 1.7.1
simplegeneric 0.8.1
six 1.15.0
sklearn 0.0
sklearn-pandas 1.8.0
smart-open 5.2.1
snowballstemmer 2.1.0
sortedcontainers 2.4.0
SoundFile 0.10.3.post1
spacy 2.2.4
Sphinx 1.8.5
sphinxcontrib-serializinghtml 1.1.5
sphinxcontrib-websupport 1.2.4
SQLAlchemy 1.4.25
sqlparse 0.4.2
srsly 1.0.5
statsmodels 0.10.2
sympy 1.7.1
tables 3.4.4
tabulate 0.8.9
tangled-up-in-unicode 0.1.0
tblib 1.7.0
tensorboard 2.6.0
tensorboard-data-server 0.6.1
tensorboard-plugin-wit 1.8.0
tensorflow 2.6.0
tensorflow-datasets 4.0.1
tensorflow-estimator 2.6.0
tensorflow-gcs-config 2.6.0
tensorflow-hub 0.12.0
tensorflow-metadata 1.2.0
tensorflow-probability 0.14.1
termcolor 1.1.0
terminado 0.12.1
testpath 0.5.0
text-unidecode 1.3
textblob 0.15.3
Theano-PyMC 1.1.2
thinc 7.4.0
tifffile 2021.8.30
toml 0.10.2
tomli 1.2.1
toolz 0.11.1
torch 1.9.0+cu111
torchsummary 1.5.1
torchtext 0.10.0
torchvision 0.10.0+cu111
tornado 5.1.1
tqdm 4.62.3
traitlets 5.1.0
tweepy 3.10.0
typeguard 2.7.1
typing-extensions 3.10.0.2
tzlocal 1.5.1
uritemplate 3.0.1
urllib3 1.24.3
vega-datasets 0.9.0
visions 0.7.4
wasabi 0.8.2
wcwidth 0.2.5
webencodings 0.5.1
Werkzeug 1.0.1
wheel 0.37.0
widgetsnbextension 3.5.1
wordcloud 1.5.0
wrapt 1.12.1
xarray 0.18.2
xgboost 0.90
xkit 0.0.0
xlrd 1.1.0
xlwt 1.3.0
yellowbrick 0.9.1
zict 2.0.0
zipp 3.6.0
geopandas 0.10.1
- 注意到你的数据在 kaggle 上,所以从采购它开始
- 确实只有一个问题
shapely.geometry.MultiPoint()
构造函数不适用于过滤后的 系列 。传递给它一个 numpy array 就可以了。
- 完整代码如下,随机选了一个点作为
gpdPoint
# https://www.kaggle.com/new-york-state/nys-nyc-transit-subway-entrance-and-exit-data
import kaggle.cli
import sys, requests, urllib
import pandas as pd
from pathlib import Path
from zipfile import ZipFile
# fmt: off
# download data set
url = "https://www.kaggle.com/new-york-state/nys-nyc-transit-subway-entrance-and-exit-data"
sys.argv = [sys.argv[0]] + f"datasets download {urllib.parse.urlparse(url).path[1:]}".split(" ")
kaggle.cli.main()
zfile = ZipFile(f'{urllib.parse.urlparse(url).path.split("/")[-1]}.zip')
dfs = {f.filename: pd.read_csv(zfile.open(f)) for f in zfile.infolist() if Path(f.filename).suffix in [".csv"]}
# fmt: on
df_subway = dfs['nyc-transit-subway-entrance-and-exit-data.csv']
from shapely.geometry import Point, MultiPoint
from shapely.ops import nearest_points
import geopandas as gpd
geometry = [Point(xy) for xy in zip(df_subway['Station Longitude'], df_subway['Station Latitude'])]
# Coordinate reference system :
crs = {'init': 'EPSG:4326'}
# Creating a Geographic data frame
gdf_subway_entrance_geometry = gpd.GeoDataFrame(df_subway, crs=crs, geometry=geometry).to_crs('EPSG:5234')
gdf_subway_entrance_geometry
df_yes_entry = gdf_subway_entrance_geometry
df_yes_entry = gdf_subway_entrance_geometry[gdf_subway_entrance_geometry.Entry=='YES']
df_yes_entry
# randomly select a point....
gpdPoint = gdf_subway_entrance_geometry.sample(1).geometry.tolist()[0]
pts = MultiPoint(df_yes_entry['geometry'].values) # does not work with a geopandas series, works with a numpy array
pt = Point(gpdPoint.x, gpdPoint.y)
#[o.wkt for o in nearest_points(pt, pts)]
for o in nearest_points(pt, pts):
print(o)
数据来源:https://catalog.data.gov/dataset/nyc-transit-subway-entrance-and-exit-data
我尝试寻找类似的问题,但找不到答案,而且错误也没有太大帮助。在这一点上我有点沮丧。 谢谢您的帮助。 我正在计算距某个点最近的距离。
df_subway = pd.read_csv('/content/drive/MyDrive/Despliegue_de_modelos/NYC_Transit_Subway_Entrance_And_Exit_Data.csv')
geometry = [Point(xy) for xy in zip(df_subway['Station Longitude'], df_subway['Station Latitude'])]
# Coordinate reference system :
crs = {'init': 'EPSG:4326'}
# Creating a Geographic data frame
gdf_subway_entrance_geometry = gpd.GeoDataFrame(df_subway, crs=crs, geometry=geometry).to_crs('EPSG:5234')
gdf_subway_entrance_geometry
df_yes_entry = gdf_subway_entrance_geometry[gdf_subway_entrance_geometry.Entry=='YES']
df_yes_entry
from shapely.geometry import Point, MultiPoint
from shapely.ops import nearest_points
pts = MultiPoint(df_yes_entry['geometry']) #it fails in this line
pt = Point(gpdPoint.x, gpdPoint.y)
#[o.wkt for o in nearest_points(pt, pts)]
for o in nearest_points(pt, pts):
print(o)
问题是,如果我做同样的事情,但使用 gdf_subway_entrance_geometry 而不是 df_yes_entry 它可以工作,但我需要做一些过滤器!
This is the error:
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
/usr/local/lib/python3.7/dist-packages/pandas/core/indexes/base.py in get_loc(self, key, method, tolerance)
2897 try:
-> 2898 return self._engine.get_loc(casted_key)
2899 except KeyError as err:
pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()
pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()
pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.Int64HashTable.get_item()
pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.Int64HashTable.get_item()
KeyError: 13
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
7 frames
<ipython-input-480-b6733def46e0> in <module>()
1 from shapely.geometry import Point, MultiPoint
2 from shapely.ops import nearest_points
----> 3 pts = MultiPoint(df_yes_entry['geometry'])
4 pt = Point(gpdPoint.x, gpdPoint.y)
5 #[o.wkt for o in nearest_points(pt, pts)]
/usr/local/lib/python3.7/dist-packages/shapely/geometry/multipoint.py in __init__(self, points)
56 pass
57 else:
---> 58 self._geom, self._ndim = geos_multipoint_from_py(points)
59
60 def shape_factory(self, *args):
/usr/local/lib/python3.7/dist-packages/shapely/geometry/multipoint.py in geos_multipoint_from_py(ob)
169 # add to coordinate sequence
170 for i in range(m):
--> 171 coords = ob[i]
172 geom, ndims = point.geos_point_from_py(coords)
173
/usr/local/lib/python3.7/dist-packages/geopandas/geoseries.py in __getitem__(self, key)
606
607 def __getitem__(self, key):
--> 608 return self._wrapped_pandas_method("__getitem__", key)
609
610 @doc(pd.Series)
/usr/local/lib/python3.7/dist-packages/geopandas/geoseries.py in _wrapped_pandas_method(self, mtd, *args, **kwargs)
599 def _wrapped_pandas_method(self, mtd, *args, **kwargs):
600 """Wrap a generic pandas method to ensure it returns a GeoSeries"""
--> 601 val = getattr(super(), mtd)(*args, **kwargs)
602 if type(val) == Series:
603 val.__class__ = GeoSeries
/usr/local/lib/python3.7/dist-packages/pandas/core/series.py in __getitem__(self, key)
880
881 elif key_is_scalar:
--> 882 return self._get_value(key)
883
884 if is_hashable(key):
/usr/local/lib/python3.7/dist-packages/pandas/core/series.py in _get_value(self, label, takeable)
988
989 # Similar to Index.get_value, but we do not fall back to positional
--> 990 loc = self.index.get_loc(label)
991 return self.index._get_values_for_loc(self, loc, label)
992
/usr/local/lib/python3.7/dist-packages/pandas/core/indexes/base.py in get_loc(self, key, method, tolerance)
2898 return self._engine.get_loc(casted_key)
2899 except KeyError as err:
-> 2900 raise KeyError(key) from err
2901
2902 if tolerance is not None:
KeyError: 13
我正在使用 colab,这是我的软件包:
Package Version
----------------------------- --------------
absl-py 0.12.0
alabaster 0.7.12
albumentations 0.1.12
altair 4.1.0
appdirs 1.4.4
argcomplete 1.12.3
argon2-cffi 21.1.0
arviz 0.11.4
astor 0.8.1
astropy 4.3.1
astunparse 1.6.3
atari-py 0.2.9
atomicwrites 1.4.0
attrs 21.2.0
audioread 2.1.9
autograd 1.3
Babel 2.9.1
backcall 0.2.0
beautifulsoup4 4.6.3
bleach 4.1.0
blis 0.4.1
bokeh 2.4.0
Bottleneck 1.3.2
branca 0.4.2
bs4 0.0.1
CacheControl 0.12.6
cached-property 1.5.2
cachetools 4.2.4
Cartopy 0.19.0.post1
catalogue 1.0.0
certifi 2021.5.30
cffi 1.14.6
cftime 1.5.1
chardet 3.0.4
charset-normalizer 2.0.6
clang 5.0
click 7.1.2
click-plugins 1.1.1
cligj 0.7.2
cloudpickle 1.3.0
cmake 3.12.0
cmdstanpy 0.9.5
colorcet 2.0.6
colorlover 0.3.0
community 1.0.0b1
contextlib2 0.5.5
convertdate 2.3.2
coverage 3.7.1
coveralls 0.5
crcmod 1.7
cufflinks 0.17.3
cvxopt 1.2.7
cvxpy 1.0.31
cycler 0.10.0
cymem 2.0.5
Cython 0.29.24
daft 0.0.4
dask 2.12.0
datascience 0.10.6
debugpy 1.0.0
decorator 4.4.2
defusedxml 0.7.1
descartes 1.1.0
dill 0.3.4
distributed 1.25.3
dlib 19.18.0
dm-tree 0.1.6
docopt 0.6.2
docutils 0.17.1
dopamine-rl 1.0.5
earthengine-api 0.1.284
easydict 1.9
ecos 2.0.7.post1
editdistance 0.5.3
en-core-web-sm 2.2.5
entrypoints 0.3
ephem 4.1
et-xmlfile 1.1.0
fa2 0.3.5
fastai 1.0.61
fastdtw 0.3.4
fastprogress 1.0.0
fastrlock 0.6
fbprophet 0.7.1
feather-format 0.4.1
filelock 3.3.0
Fiona 1.8.20
firebase-admin 4.4.0
fix-yahoo-finance 0.0.22
Flask 1.1.4
flatbuffers 1.12
folium 0.8.3
future 0.16.0
gast 0.4.0
GDAL 2.2.2
gdown 3.6.4
gensim 3.6.0
geographiclib 1.52
geopandas 0.10.1
geopy 1.17.0
geoviews 1.9.2
gin-config 0.4.0
glob2 0.7
google 2.0.3
google-api-core 1.26.3
google-api-python-client 1.12.8
google-auth 1.35.0
google-auth-httplib2 0.0.4
google-auth-oauthlib 0.4.6
google-cloud-bigquery 1.21.0
google-cloud-bigquery-storage 1.1.0
google-cloud-core 1.0.3
google-cloud-datastore 1.8.0
google-cloud-firestore 1.7.0
google-cloud-language 1.2.0
google-cloud-storage 1.18.1
google-cloud-translate 1.5.0
google-colab 1.0.0
google-pasta 0.2.0
google-resumable-media 0.4.1
googleapis-common-protos 1.53.0
googledrivedownloader 0.4
graphviz 0.10.1
greenlet 1.1.2
grpcio 1.41.0
gspread 3.0.1
gspread-dataframe 3.0.8
gym 0.17.3
h5py 3.1.0
HeapDict 1.0.1
hijri-converter 2.2.2
holidays 0.10.5.2
holoviews 1.14.6
html5lib 1.0.1
htmlmin 0.1.12
httpimport 0.5.18
httplib2 0.17.4
httplib2shim 0.0.3
humanize 0.5.1
hyperopt 0.1.2
ideep4py 2.0.0.post3
idna 2.10
ImageHash 4.2.1
imageio 2.4.1
imagesize 1.2.0
imbalanced-learn 0.4.3
imblearn 0.0
imgaug 0.2.9
importlib-metadata 4.8.1
importlib-resources 5.2.2
imutils 0.5.4
inflect 2.1.0
iniconfig 1.1.1
intel-openmp 2021.4.0
intervaltree 2.1.0
ipykernel 4.10.1
ipython 5.5.0
ipython-genutils 0.2.0
ipython-sql 0.3.9
ipywidgets 7.6.5
itsdangerous 1.1.0
jax 0.2.21
jaxlib 0.1.71+cuda111
jdcal 1.4.1
jedi 0.18.0
jieba 0.42.1
Jinja2 2.11.3
joblib 1.0.1
jpeg4py 0.1.4
jsonschema 2.6.0
jupyter 1.0.0
jupyter-client 5.3.5
jupyter-console 5.2.0
jupyter-core 4.8.1
jupyterlab-pygments 0.1.2
jupyterlab-widgets 1.0.2
kaggle 1.5.12
kapre 0.3.5
keras 2.6.0
Keras-Preprocessing 1.1.2
keras-vis 0.4.1
kiwisolver 1.3.2
korean-lunar-calendar 0.2.1
librosa 0.8.1
lightgbm 2.2.3
llvmlite 0.34.0
lmdb 0.99
LunarCalendar 0.0.9
lxml 4.2.6
Markdown 3.3.4
MarkupSafe 2.0.1
matplotlib 3.2.2
matplotlib-inline 0.1.3
matplotlib-venn 0.11.6
missingno 0.5.0
mistune 0.8.4
mizani 0.6.0
mkl 2019.0
mlxtend 0.14.0
more-itertools 8.10.0
moviepy 0.2.3.5
mpmath 1.2.1
msgpack 1.0.2
multimethod 1.6
multiprocess 0.70.12.2
multitasking 0.0.9
munch 2.5.0
murmurhash 1.0.5
music21 5.5.0
natsort 5.5.0
nbclient 0.5.4
nbconvert 5.6.1
nbformat 5.1.3
nest-asyncio 1.5.1
netCDF4 1.5.7
networkx 2.6.3
nibabel 3.0.2
nltk 3.2.5
notebook 5.3.1
numba 0.51.2
numexpr 2.7.3
numpy 1.19.5
nvidia-ml-py3 7.352.0
oauth2client 4.1.3
oauthlib 3.1.1
okgrade 0.4.3
opencv-contrib-python 4.1.2.30
opencv-python 4.1.2.30
openpyxl 2.5.9
opt-einsum 3.3.0
osqp 0.6.2.post0
packaging 21.0
palettable 3.3.0
pandas 1.1.5
pandas-datareader 0.9.0
pandas-gbq 0.13.3
pandas-profiling 3.1.0
pandocfilters 1.5.0
panel 0.12.4
param 1.11.1
parso 0.8.2
pathlib 1.0.1
patsy 0.5.2
pep517 0.11.0
pexpect 4.8.0
phik 0.12.0
pickleshare 0.7.5
Pillow 7.1.2
pip 21.1.3
pip-tools 6.2.0
plac 1.1.3
plotly 4.4.1
plotnine 0.6.0
pluggy 0.7.1
pooch 1.5.1
portpicker 1.3.9
prefetch-generator 1.0.1
preshed 3.0.5
prettytable 2.2.1
progressbar2 3.38.0
prometheus-client 0.11.0
promise 2.3
prompt-toolkit 1.0.18
protobuf 3.17.3
psutil 5.4.8
psycopg2 2.7.6.1
ptyprocess 0.7.0
py 1.10.0
pyarrow 3.0.0
pyasn1 0.4.8
pyasn1-modules 0.2.8
pycocotools 2.0.2
pycparser 2.20
pyct 0.4.8
pydantic 1.8.2
pydata-google-auth 1.2.0
pydot 1.3.0
pydot-ng 2.0.0
pydotplus 2.0.2
PyDrive 1.3.1
pyemd 0.5.1
pyerfa 2.0.0
pyglet 1.5.0
Pygments 2.6.1
pygobject 3.26.1
pymc3 3.11.4
PyMeeus 0.5.11
pymongo 3.12.0
pymystem3 0.2.0
PyOpenGL 3.1.5
pyparsing 2.4.7
pyproj 3.2.1
pyrsistent 0.18.0
pyshp 2.1.3
pysndfile 1.3.8
PySocks 1.7.1
pystan 2.19.1.1
pytest 3.6.4
python-apt 0.0.0
python-chess 0.23.11
python-dateutil 2.8.2
python-louvain 0.15
python-slugify 5.0.2
python-utils 2.5.6
pytz 2018.9
pyviz-comms 2.1.0
PyWavelets 1.1.1
PyYAML 5.4.1
pyzmq 22.3.0
qdldl 0.1.5.post0
qtconsole 5.1.1
QtPy 1.11.2
regex 2019.12.20
requests 2.26.0
requests-oauthlib 1.3.0
resampy 0.2.2
retrying 1.3.3
rpy2 3.4.5
rsa 4.7.2
scikit-image 0.16.2
scikit-learn 0.22.2.post1
scipy 1.7.1
screen-resolution-extra 0.0.0
scs 2.1.4
seaborn 0.11.2
semver 2.13.0
Send2Trash 1.8.0
setuptools 57.4.0
setuptools-git 1.2
Shapely 1.7.1
simplegeneric 0.8.1
six 1.15.0
sklearn 0.0
sklearn-pandas 1.8.0
smart-open 5.2.1
snowballstemmer 2.1.0
sortedcontainers 2.4.0
SoundFile 0.10.3.post1
spacy 2.2.4
Sphinx 1.8.5
sphinxcontrib-serializinghtml 1.1.5
sphinxcontrib-websupport 1.2.4
SQLAlchemy 1.4.25
sqlparse 0.4.2
srsly 1.0.5
statsmodels 0.10.2
sympy 1.7.1
tables 3.4.4
tabulate 0.8.9
tangled-up-in-unicode 0.1.0
tblib 1.7.0
tensorboard 2.6.0
tensorboard-data-server 0.6.1
tensorboard-plugin-wit 1.8.0
tensorflow 2.6.0
tensorflow-datasets 4.0.1
tensorflow-estimator 2.6.0
tensorflow-gcs-config 2.6.0
tensorflow-hub 0.12.0
tensorflow-metadata 1.2.0
tensorflow-probability 0.14.1
termcolor 1.1.0
terminado 0.12.1
testpath 0.5.0
text-unidecode 1.3
textblob 0.15.3
Theano-PyMC 1.1.2
thinc 7.4.0
tifffile 2021.8.30
toml 0.10.2
tomli 1.2.1
toolz 0.11.1
torch 1.9.0+cu111
torchsummary 1.5.1
torchtext 0.10.0
torchvision 0.10.0+cu111
tornado 5.1.1
tqdm 4.62.3
traitlets 5.1.0
tweepy 3.10.0
typeguard 2.7.1
typing-extensions 3.10.0.2
tzlocal 1.5.1
uritemplate 3.0.1
urllib3 1.24.3
vega-datasets 0.9.0
visions 0.7.4
wasabi 0.8.2
wcwidth 0.2.5
webencodings 0.5.1
Werkzeug 1.0.1
wheel 0.37.0
widgetsnbextension 3.5.1
wordcloud 1.5.0
wrapt 1.12.1
xarray 0.18.2
xgboost 0.90
xkit 0.0.0
xlrd 1.1.0
xlwt 1.3.0
yellowbrick 0.9.1
zict 2.0.0
zipp 3.6.0
geopandas 0.10.1
- 注意到你的数据在 kaggle 上,所以从采购它开始
- 确实只有一个问题
shapely.geometry.MultiPoint()
构造函数不适用于过滤后的 系列 。传递给它一个 numpy array 就可以了。 - 完整代码如下,随机选了一个点作为
gpdPoint
# https://www.kaggle.com/new-york-state/nys-nyc-transit-subway-entrance-and-exit-data
import kaggle.cli
import sys, requests, urllib
import pandas as pd
from pathlib import Path
from zipfile import ZipFile
# fmt: off
# download data set
url = "https://www.kaggle.com/new-york-state/nys-nyc-transit-subway-entrance-and-exit-data"
sys.argv = [sys.argv[0]] + f"datasets download {urllib.parse.urlparse(url).path[1:]}".split(" ")
kaggle.cli.main()
zfile = ZipFile(f'{urllib.parse.urlparse(url).path.split("/")[-1]}.zip')
dfs = {f.filename: pd.read_csv(zfile.open(f)) for f in zfile.infolist() if Path(f.filename).suffix in [".csv"]}
# fmt: on
df_subway = dfs['nyc-transit-subway-entrance-and-exit-data.csv']
from shapely.geometry import Point, MultiPoint
from shapely.ops import nearest_points
import geopandas as gpd
geometry = [Point(xy) for xy in zip(df_subway['Station Longitude'], df_subway['Station Latitude'])]
# Coordinate reference system :
crs = {'init': 'EPSG:4326'}
# Creating a Geographic data frame
gdf_subway_entrance_geometry = gpd.GeoDataFrame(df_subway, crs=crs, geometry=geometry).to_crs('EPSG:5234')
gdf_subway_entrance_geometry
df_yes_entry = gdf_subway_entrance_geometry
df_yes_entry = gdf_subway_entrance_geometry[gdf_subway_entrance_geometry.Entry=='YES']
df_yes_entry
# randomly select a point....
gpdPoint = gdf_subway_entrance_geometry.sample(1).geometry.tolist()[0]
pts = MultiPoint(df_yes_entry['geometry'].values) # does not work with a geopandas series, works with a numpy array
pt = Point(gpdPoint.x, gpdPoint.y)
#[o.wkt for o in nearest_points(pt, pts)]
for o in nearest_points(pt, pts):
print(o)