使用matplotlib获取叠加直方图

2024-10-02 08:21:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python新手,我正在尝试为来自Kaggle的操纵数据集绘制一个覆盖直方图。我试着用matplotlib来做。这是一个数据集,显示了美国近年来的枪支暴力历史。我只为EDA选择了几列。你知道吗

 import pandas as pd

 data_set = pd.read_csv("C:/Users/Lenovo/Documents/R related 
 Topics/Assignment/Assignment_day2/04 Assignment/GunViolence.csv")
 state_wise_crime = data_set[['date', 'state', 'n_killed', 'n_injured']]

 date_value = pd.to_datetime(state_wise_crime['date'])

 import datetime

 state_wise_crime['Month']= date_value.dt.month
 state_wise_crime.drop('date', axis = 1)

 no_of_killed = state_wise_crime.groupby(['state','Year']) 
 ['n_killed','n_injured'].sum()

 no_of_killed = state_wise_crime.groupby(['state','Year'] 
 ['n_killed','n_injured'].sum()

I want an overlaid histogram that shows the no. of people killed and no.of people injured with the different states on the x-axis


Tags: ofthe数据noimportdatadatepd
1条回答
网友
1楼 · 发布于 2024-10-02 08:21:47

欢迎使用堆栈溢出!从下一次开始,请以下面的格式发布您的数据(不是链接或图片),以便我们更容易解决问题。另外,如果您询问图形输出,显示所需图形的内容(即使是手绘)也会非常有帮助:)


df

    state   Year    n_killed    n_injured
0   Alabama 2013    9           3
1   Alabama 2014    591         325
2   Alabama 2015    562         385
3   Alabama 2016    761         488
4   Alabama 2017    856         544
5   Alabama 2018    219         135
6   Alaska  2014    49          29
7   Alaska  2015    84          70
8   Alaska  2016    103         88
9   Alaska  2017    70          69

正如我在你原来的帖子中评论的那样,在这种情况下,条形图比柱状图更合适,因为你的目的似乎是通过状态比较来可视化每年的汇总统计数据(sum)。据我所知,最简单的选择是使用Seaborn。这取决于您希望如何显示数据,但下面是一个示例。代码如下所示。你知道吗

import seaborn as sns    
sns.barplot(x='Year', y='n_killed', hue='state', data=df)

输出:

enter image description here

希望这有帮助。你知道吗

相关问题 更多 >

    热门问题