<legend id='lxcWV'><style id='lxcWV'><dir id='lxcWV'><q id='lxcWV'></q></dir></style></legend>

    <small id='lxcWV'></small><noframes id='lxcWV'>

    <i id='lxcWV'><tr id='lxcWV'><dt id='lxcWV'><q id='lxcWV'><span id='lxcWV'><b id='lxcWV'><form id='lxcWV'><ins id='lxcWV'></ins><ul id='lxcWV'></ul><sub id='lxcWV'></sub></form><legend id='lxcWV'></legend><bdo id='lxcWV'><pre id='lxcWV'><center id='lxcWV'></center></pre></bdo></b><th id='lxcWV'></th></span></q></dt></tr></i><div id='lxcWV'><tfoot id='lxcWV'></tfoot><dl id='lxcWV'><fieldset id='lxcWV'></fieldset></dl></div>
    <tfoot id='lxcWV'></tfoot>
    • <bdo id='lxcWV'></bdo><ul id='lxcWV'></ul>

    1. Python Pandas-从DataFrame按类别绘制多个条形图

      时间:2024-08-22

      <small id='hTYtS'></small><noframes id='hTYtS'>

    2. <tfoot id='hTYtS'></tfoot>
        <bdo id='hTYtS'></bdo><ul id='hTYtS'></ul>

            <legend id='hTYtS'><style id='hTYtS'><dir id='hTYtS'><q id='hTYtS'></q></dir></style></legend>
            <i id='hTYtS'><tr id='hTYtS'><dt id='hTYtS'><q id='hTYtS'><span id='hTYtS'><b id='hTYtS'><form id='hTYtS'><ins id='hTYtS'></ins><ul id='hTYtS'></ul><sub id='hTYtS'></sub></form><legend id='hTYtS'></legend><bdo id='hTYtS'><pre id='hTYtS'><center id='hTYtS'></center></pre></bdo></b><th id='hTYtS'></th></span></q></dt></tr></i><div id='hTYtS'><tfoot id='hTYtS'></tfoot><dl id='hTYtS'><fieldset id='hTYtS'></fieldset></dl></div>
                <tbody id='hTYtS'></tbody>

              1. 本文介绍了Python Pandas-从DataFrame按类别绘制多个条形图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                问题描述

                我的数据帧看起来像

                df = pd.DataFrame(data={'ID':[1,1,1,2,2,2], 'Value':[13, 12, 15, 4, 2, 3]})
                
                Index ID Value
                0   1   13
                1   1   12
                2   1   15
                3   2   4
                4   2   2
                5   2   3
                

                我想按ID(类别)来绘制它,这样每个类别就会有不同的条形图,
                所以在这种情况下我会有两位数
                一个图形,条形图ID=1,
                和ID=2的第二个单独的图形条形图。

                我是否可以使用类似df.plot(y='Value', kind='bar')的命令(最好不要循环)?

                推荐答案

                可以选择两种,一种是使用matplotlib,另一种是您现在绝对应该使用的海运,因为它与 pandas 配合得很好。

                带有matplotlib的 pandas

                您必须创建一个带有您设置的列数和行数的子图。如果nrowsncols设置为1,则它在1-D中给出一个数组axes,否则在2-D中给出一个数组。然后,将此对象交给Pandas Plot方法。

                如果类别数未知或很高,则需要使用循环。

                import pandas as pd
                import matplotlib.pyplot as plt
                
                fig, axes = plt.subplots( nrows=1, ncols=2, sharey=True )
                
                df.loc[ df["ID"] == 1, 'Value' ].plot.bar( ax=axes[0] )
                df.loc[ df["ID"] == 2, 'Value' ].plot.bar( ax=axes[1] )
                
                plt.show()
                

                带海运的 pandas

                Seaborn是我所知道的最令人惊叹的图形工具。函数catplot允许您在设置参数col时根据列的值绘制一系列图形。您可以使用kind选择绘图类型。

                import pandas as pd
                import matplotlib.pyplot as plt
                import seaborn as sns
                
                sns.set_style('white')
                
                df['index'] = [1,2,3] * 2
                sns.catplot(kind='bar', data=df, x='index', y='Value', col='ID')
                plt.show()
                

                我添加了一列index,以便与df.plot.bar进行比较。如果您不想删除,请删除x='index',它将显示带有错误的唯一条。

                这篇关于Python Pandas-从DataFrame按类别绘制多个条形图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                上一篇:数据帧过滤每天的最高值,并再次将其保存在具有2列的DataFrame中 下一篇:如何从另一个数据框中获取值的行列名

                相关文章

                <i id='M49lZ'><tr id='M49lZ'><dt id='M49lZ'><q id='M49lZ'><span id='M49lZ'><b id='M49lZ'><form id='M49lZ'><ins id='M49lZ'></ins><ul id='M49lZ'></ul><sub id='M49lZ'></sub></form><legend id='M49lZ'></legend><bdo id='M49lZ'><pre id='M49lZ'><center id='M49lZ'></center></pre></bdo></b><th id='M49lZ'></th></span></q></dt></tr></i><div id='M49lZ'><tfoot id='M49lZ'></tfoot><dl id='M49lZ'><fieldset id='M49lZ'></fieldset></dl></div>
              2. <tfoot id='M49lZ'></tfoot>

              3. <small id='M49lZ'></small><noframes id='M49lZ'>

                <legend id='M49lZ'><style id='M49lZ'><dir id='M49lZ'><q id='M49lZ'></q></dir></style></legend>

                  <bdo id='M49lZ'></bdo><ul id='M49lZ'></ul>