Я выполняю волонтерскую работу для южноамериканской неправительственной организации, которая составляет карту преступности на континенте. Я впервые использую панды, и я был бы очень признателен, если бы вы помогли мне со следующим сценарием.
У меня есть следующий DataFrame:
df = pd.DataFrame({'country': ['Brazil', 'Argentina', 'Uruguay', 'Brazil', 'Argentina', 'Uruguay', 'Brazil', 'Argentina', 'Uruguay'],
'year': [2015, 2015, 2015, 2016, 2016, 2016, 2017, 2017, 2016],
'occurrence': ['murder', 'murder', 'rape', 'rape', 'arson', 'arson', 'murder', 'murder', 'arson']})
Я хотел бы суммировать количество преступлений по стране в год и отображать результаты, используя сюжетно экспресс тепловая карта, в котором годы будут отображаться на оси x, страны на оси y, а цвета будут отображать количество случаев.
Как вы думаете, вы могли бы помочь мне преобразовать данные и передать их в соответствующую функцию графического выражения тепловой карты?
Благодарю вас!
Вы должны сначала сгруппировать свои данные по country
, а затем по year
и подсчитать количество преступлений:
new_df = df.groupby(["country","year"])["occurrence"].count().reset_index()
После этого вы должны изменить структуру данных, повернув данные в соответствии с вашими потребностями:
new_df = new_df.pivot(index='country', columns='year')['occurrence'].fillna(0)
Теперь вы можете построить свою тепловую карту:
import plotly.express as px
fig = px.imshow(new_df, x=new_df.columns, y=new_df.index)
fig.update_layout(width=500,height=500)
fig.show()
Спасибо, что нашли время прочитать и ответить на мой вопрос. Не могли бы вы порекомендовать какие-либо учебные ресурсы, которые позволили бы мне освоить такие понятия, как поворот, плавление, распаковка и т. д.? Еще раз спасибо!
Добро пожаловать. На самом деле, эти концепции приходят с практикой множества проблем, но я рекомендую читать либо книги, если у вас есть время, либо следить за некоторыми блогами на среднем веб-сайте о пандах.