gpt4 book ai didi

python - 在 Python pandas 中绘制条形图的便捷方法

转载 作者:行者123 更新时间:2023-12-02 20:56:01 25 4
gpt4 key购买 nike

我有一个 DataFrame 包含如下,其中第一行是“列”:

id,year,type,sale  
1,1998,a,5
2,2000,b,10
3,1999,c,20
4,2001,b,15
5,2001,a,25
6,1998,b,5
...

我想画两个人物,第一个是这样的

enter image description here

第二个就像

enter image description here

我草稿中的数字可能比例不正确。我是 Python 的新手,我知道 Python 中的绘图功能非常强大。我相信绘制这样的数字一定很容易。

最佳答案

Pandas library提供简单高效的工具来分析和绘制 DataFrame。

考虑到 pandas 库已安装并且数据位于 .csv 文件中(与您提供的示例匹配)。

1。导入pandas库并加载数据

import pandas as pd

data = pd.read_csv('filename.csv')

您现在拥有一个 Pandas 数据框,如下所示:

    id  year  type  sale
0 1 1998 a 5
1 2 2000 b 10
2 3 1999 c 20
3 4 2001 b 15
4 5 2001 a 25
5 6 1998 b 5

2。绘制“销售”与“类型”的图

这可以通过以下方式轻松实现:

data.plot('type', 'sale', kind='bar')

结果

image1

如果您希望对每种类型的销售额进行求和,data.groupby('type').sum().plot(y='sale', kind='bar') 将做到这一点(参见#3 的解释)

3。绘制“销售”与“年份”的图

这基本上是相同的命令,只是您必须首先使用 groupby 对同一年的所有销售进行求和。 Pandas 功能。

data.groupby('year').sum().plot(y='sale', kind='bar')

这将导致

image2

编辑:

4 每年分解不同类型

您还可以通过对 2 个变量使用 groupby 来取消堆叠每个柱每年的不同“类型”

data.groupby(['year', 'type']).sum().unstack().plot(y='sale', kind='bar', stacked=True)

enter image description here

注意:

请参阅Pandas Documentation on visualization有关实现所需布局的更多信息。

关于python - 在 Python pandas 中绘制条形图的便捷方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40315878/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com