Построение данных в геопандах - PullRequest
0 голосов
/ 22 сентября 2019

Я работаю над Глобальной базой данных терроризма Kaggle (https://www.kaggle.com/START-UMD/gtd/download) и пытаюсь использовать геопанды для визуализации.

Я также использую набор данных стран (http://www.naturalearthdata.com/downloads/110m-cultural-vectors/110m-admin-0-countries/)

import seaborn as sns
import geopandas as gpd
import matplotlib.pyplot as plt
sns.set(style = "ticks", context = "poster")
from shapely.geometry import Point


countries = gpd.read_file("C:/Users/petr7/Desktop/ne_110m_admin_0_countries/")
countries = countries[(countries['NAME'] != "Antarctica")]
countries.plot(figsize = (15, 15))

используя приведенный выше код, я могу легко построить всю Европу,

, после чего я импортирую набор террористических данных kaggle и определю его как кадр данных геопанады

DF = pd.read_csv("C:/Users/petr7/Desktop/gtd/globalterrorismdb_0718dist.csv", encoding='latin1')
crs = {"init": "epsg:4326"}

geometry = [Point(xy) for xy in zip ( DF["longitude"], DF["latitude"])]
geo_DF = gpd.GeoDataFrame(DF, geometry = geometry)
geo_DF.head()

До этого момента все работаети набор данных может быть проверен

СЕЙЧАС, когда я пытаюсь построить его, он возвращает бессмысленный график:

geo_DF.plot()

Я новичок в геопанде, поэтому я хотел спросить, что мне не хватает, а также какВы бы подготовили карту всей Европы (стран.сюжет) и выше этой террористической атаки?

КАРТИНА ЗДЕСЬ

1 Ответ

1 голос
/ 22 сентября 2019

Произошла ошибка в данных.DF["longitude"].min() дает -86185896.0.

DF.loc[DF["longitude"] == DF["longitude"].min()]

Как видно из приведенного выше фрагмента, строка с ошибкой равна 17658.

Кажется, отсутствует запятая.Если вы выполните

DF.at[17658, 'longitude'] = -86.185896

до создания геометрии, это сработает.Или вы можете удалить строку, если не уверены, что именно не так с данными.

...