Панды - Составление графика преступления по месяцам на графике - PullRequest
0 голосов
/ 10 ноября 2018

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

Crime

Моя текущая информация отображается так: Crime Info

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 313601 entries, 0 to 313600
Data columns (total 6 columns):
Month          313601 non-null object
Reported by    313601 non-null object
Longitude      313601 non-null float64
Latitude       313601 non-null float64
Location       313601 non-null object
Crime type     313601 non-null object
dtypes: float64(2), object(4)
memory usage: 14.4+ MB

Попытка: monthCrime = df ["Month"]. value_counts (ascending = False) печать (monthlyCrime)

plt.figure(figsize=(11,5))
plt.plot(monthlyCrime.index, monthlyCrime.values)
plt.xticks(rotation=90)

#Add description
plt.title('Number of crimes per month (2016)')
plt.xlabel('Months')
plt.ylabel('Number of crimes')

enter image description here

Поэтому я бы хотел, чтобы это связывало тип преступления и месяц, пока мои попытки были довольно безрадостными. Я знаю, что есть функция подсчета, и я попробовал ее, но я не получил ее в правильном порядке, и я не уверен, как бы я применил ее к графику. Кто-нибудь знает, что мне нужно сделать? Спасибо.

UPDATE: Вот что я смог сделать:

crimeDataMonthGroup = pd.DataFrame({'count' : crimeDataMonth.groupby([ "Month"] ).size()}).reset_index()

#df1 = df.groupby([ "Crime type", "Month"]).count().reset_index(name='count')
print(crimeDataMonthGroup)
tb = pd.pivot_table(crimeDataMonthGroup, values='count', index=['Month'], fill_value=0)
tb.plot(figsize=(15, 13), subplots=True, sharex=False, sharey=False)

Closer but still not ideal

...