【问题标题】:Plotting pandas dataframe series with seaborn用 seaborn 绘制 pandas 数据框系列
【发布时间】:2020-04-24 01:38:14
【问题描述】:

我是 Seaborn 和 Pandas 的新手

我的数据框:

df

Search                      A       B       C       D           Language
Best TV for netflix         51      7.5     25.7    TV          en
Best TV for firestick       42      6.3     34.77   TV          es
TV cheap                    32      2.7     69.33   Cheap       en
Cheap TV                    44      14.7    74.14   Best        fr
...

我正在学习用 seaborn 绘制数据。

我的目标是能够绘图:

  1. 每列的出现次数,例如条形图或任何其他图,其中值将是列的value_counts()
  2. 每列的最大值,例如 - AB 每个类别的列的最大值 Language
  3. 每个类别A 的列总和D

我应该先进行计算以获得绘图所需的数字,还是有更微妙的方法可以根据 seaborn 文档使用 seaborn 绘制 pandas 数据帧,据说它可以很好地与 pandas 数据帧配合使用。

我的尝试

count = df['Language'].value_counts()
head = count.head(5)
sns.barplot(x=head, y=count, data=df)
plt.show()

其中绘制了前 5 个语言类别。但我不知道如何在我的目标部分绘制第二点和第三点。

感谢您的建议。

【问题讨论】:

    标签: python pandas seaborn


    【解决方案1】:

    每种语言的最大值:

    grouped_data = df.groupby('Language')[['A', 'B']].max().reset_index()
    sns.barplot(x='Language', y='A', data=grouped_data)
    

    sns.barplot(x='Language', y='B', data=grouped_data)
    

    每个类别 D 的 A 列总和:

    sns.barplot(x='D', y='A', data=df.groupby('D').A.sum().reset_index())
    

    【讨论】:

    • 保存输出是plt.savefig('name.png') or sns_plot.savefig("output.png")?
    • @JonasPalačionis 如果你运行ax = sns.barplot(x='Language', y='A', data=grouped_data),那么你可以用ax.get_figure().savefig('name.png')保存它
    猜你喜欢
    • 2017-02-21
    • 2019-08-22
    • 2018-03-29
    • 2017-12-09
    • 2019-08-26
    • 2014-06-03
    • 2020-06-17
    • 2016-05-12
    • 2014-10-06
    相关资源
    最近更新 更多