我需要从数据框中绘制条形图的帮助

2024-05-06 15:42:50 发布

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

我有以下数据帧:

    AQI         Year     City
0   349.407407  2015    'Patna'
1   297.024658  2015    'Delhi'
2   283.007605  2015    'Ahmedabad'
3   297.619178  2016    'Delhi'
4   282.717949  2016    'Ahmedabad'
5   250.528701  2016    'Patna'
6   379.753623  2017    'Ahmedabad'
7   325.652778  2017    'Patna'
8   281.401216  2017    'Gurugram'
9   443.053221  2018    'Ahmedabad'
10  248.367123  2018    'Delhi'
11  233.772603  2018    'Lucknow'
12  412.781250  2019    'Ahmedabad'
13  230.720548  2019    'Delhi'
14  217.626741  2019    'Patna'
15  214.681818  2020    'Ahmedabad'
16  181.672131  2020    'Delhi'
17  162.251366  2020    'Patna'

我想将每年的数据分组,即x轴上的2015年、2016年、2017年、2018年……2020年数据,y轴上的AQI数据。我是个新手,请原谅我的问题不够深入


Tags: 数据cityyear新手aqidelhipatnaahmedabad
1条回答
网友
1楼 · 发布于 2024-05-06 15:42:50

您可以"pivot"您的数据以支持所需的打印输出。这里我们将行设置为Year,列设置为City,值设置为AQI

pivot = pd.pivot_table(
    data=df,
    index='Year',
    columns='City',
    values='AQI',
)
^{tb1}$

然后,您可以直接绘制此透视表:

pivot.plot.bar(xlabel='Year', ylabel='AQI')

enter image description here


旧答案

您是否在寻找每年平均AQI?如果是这样,您可以进行一些链接,假设您的数据位于数据帧df

df.groupby('Year').mean().plot.bar(xlabel='Year', ylabel='AQI')

aqi_groupby_year

相关问题 更多 >