
Описание проекта
Я решала проанализировать данные о преступлениях против человека и имущества на почве ненависти в США за 2022 год. В таблице указаны категории преступлений, такие как запугивания, убийства, кражи и многие другие. А так же категории пострадавших, разделенных по расе, ориентации, полу и тд. Эти данные мне интересны, поскольку я часто смотрю на ютубе видео о преступлениях, и всегда интересно знать чем руководствуются преступники.
В проекте были выбраны точечные графики, чтобы наглядно показать разницу между мужчинами и женщинами, также столбчатые для отражения количества пострадавших и линейные для отслеживания популярности преступлений на определенную категорию людей.
Графики
Сначала я решила посмотреть, жертвами каких преступлений чаще всего становятся люди каждой расы.
df.iloc[2:13, : ].plot (kind='line') — поскольку категории людей указаны в строках, я определила диапазон работы с ними. Далее задала подписи к графику.
plt.title ('Сравнение количества преступлений разных категорий в зависимости от расовой принадлежности') plt.xlabel ('расы') plt.ylabel ('количество преступлений') plt.legend (['Murder', 'Rape', 'Human Trafficking', 'Other', 'Robbery', 'Burglary', 'Larceny', 'Motor', 'Arson', 'Other_2', 'Unnamed']) plt.show ()
Такой результат я получила:

По оси x каждому номеру соответствует определенная раса, указанная в таблице. Из этого графика можно сделать вывод, что большинство преступлений совершается в отношении афроамериканцев.
Дальше я решила сравнить количество жертв изнасилований на фоне ненависти к людям разных рас и религий.
Для этого я также определила диапазон для каждой из категорий: ras = df.iloc[2:13][['Rape']] rel = df.iloc[13:27][['Rape']]
Затем ввела данные для столбиков: ras = df.iloc[2:13].copy () ras['Rape'] = ras['Rape'] — ras['Rape'].min () rel = df.iloc[13:27].copy () rel['Rape'] = rel['Rape'] — rel['Rape'].min ()
Дальше у меня появилась проблема с тем, чтобы столбики в графике были разного цвета. Я ввела следующий запрос в https://openchat.team/ru: plt.bar (range (len (ras)), ras['Rape'], color='red') как построить второй столбик на графике
В итоге получился такой код: plt.bar (range (len (ras)), ras['Rape'], color='red') plt.bar (range (len (ras), len (ras) + len (rel)), rel['Rape'], color='blue')
Затем я ввела также подписи и вывела график: plt.title ('Сравнение количества изнасилований на фоне расовой и религиозной принадлежности') plt.xlabel ('раса/религия') plt.ylabel ('количество преступлений') plt.legend (['разные расы', 'разные религии']) plt.show ()
В 3 графике отражено количество жертв запугиваний среди людей с разной ориентацией. Для этого я определила строки с ними: a = df.iloc[28][['Intimidation']] b = df.iloc[29][['Intimidation']] c = df.iloc[30][['Intimidation']] d = df.iloc[31][['Intimidation']] e = df.iloc[32][['Intimidation']]
Дальше были заданы свои места и отдельные цвета для каждого слова, чтобы график выглядел нагляднее:
data = [a['Intimidation'], b['Intimidation'], c['Intimidation'], d['Intimidation'], e['Intimidation']]
positions = [28,29,30,31,32]
colors = ['red', 'orange', 'green', 'blue', 'purple']
Далее сам график с подписями: for i, value in enumerate (data): plt.bar (positions[i], value, color=colors[i])
plt.title ('Частота запугиваний людей в зависимости от ориентации') plt.xlabel ('ориентация') plt.ylabel ('количество преступлений') plt.legend (['Anti-Gay (Male)', 'Anti-Lesbian', 'Anti-Lesbian, Gay, Bisexual, or Transgender', 'Anti-Heterosexual', 'Anti-Bisexual'])
plt.show ()
И в конце я решила выяснить, как вероятность стать жертвой преступления любого рода зависит от пола. Также определила строки для мужчин и женщин: x_data = df.iloc[37] y_data = df.iloc[38]
По оси х задала данные по мужчинам, по у по женщинам x_data = x_data.astype (str) y_data = y_data.astype (str) plt.scatter (x_data, y_data)
И добавила подписи: plt.xlabel ('Данные по мужчинам') plt.ylabel ('Данные по женщинам) plt.title ('Сравнение преступлений против мужчин и против женщин') plt.show ()
Поскольку преступления для каждого пола располагаются в том порядке, в котором есть в таблице, на графике в точке пересечения можно увидеть количество для мужчин и женщин и сравнить.
Описание применения генеративной моедели
Модель: OpenChat 3.6 (latest) | Temp: 0.5 https://openchat.team/ru Использован для решения следующей задачи: как сделать столбики в графике разного цвета. Промт: plt.bar (range (len (ras)), ras['Rape'], color='red') как построить второй столбик на графике