【问题标题】:How to plot pandas three column with seaborn (calculated with group by)如何用 seaborn 绘制 pandas 三列(用 group by 计算)
【发布时间】:2021-07-25 18:29:10
【问题描述】:

我有一个如下所示的数据框:

并使用代码 sn-p,我计算每月观察到的物种及其各自的每月数量(我认为只需要显示变量):

代码:

state_bird_month_sum = state_bird_month_sorted.groupby(['Month','COMMON NAME'])[['OBSERVATION COUNT']].agg('sum')
state_bird_month_sum

这给了我这个:

基本上,一个月内可以观察到多个物种,每个物种都有一个相关的“观察计数”值。

我想制作一个像this 这样的图,其中 x 是“常用名称”,y 是“月份”,注释值是“观察计数”。一般来说,绘图应显示每个月的物种数量(累积 = 一个月内的所有观察数量)。

我尝试使用 seaborn 使用下面的代码进行绘图,但不起作用:

import matplotlib.pyplot as plt
import seaborn as sns

flights = state_bird_month_sum.pivot('Month','COMMON NAME', 'OBSERVATION COUNT')

myflights = flights.copy()

arr = flights.values
vmin, vmax = arr.min(), arr.max()
sns.heatmap(myflights, annot=True, fmt="d", vmin=vmin, vmax=vmax)
plt.show()

【问题讨论】:

    标签: python pandas dataframe pandas-groupby seaborn


    【解决方案1】:

    考虑到数据框state_bird_month_sum

    df_temp = state_bird_month_sum.pivot_table("OBSERVATION COUNT", "COMMON NAME", "Month")
    
    plt.figure(figsize = (25,15))
    plt.title("NAME OF THE GRAPH", size=20)
    plot = sns.heatmap(df_temp)
    plot.set(xlabel="MONTH", ylabel="COMMON NAME")
    plt.show()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-09
      • 1970-01-01
      • 2020-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多