python数据框的年度框图

时间:2019-03-08 16:24:17

标签: python pandas dataframe

我有以下数据框:

                    A        B         C  
Date                                                      
2015-04-20 -0.000585 -0.003030  0.000198  
2015-04-21 -0.001334 -0.001330  0.000712  
2015-04-22 -0.000967 -0.000317  0.002388  
2015-04-23 -0.004314 -0.001281  0.002453  
2015-04-24 -0.004910 -0.002032  0.002502 
...  

,我想要一个箱形图,它表示每年的值(A,B,C)(每年箱形图)。我已经在此direction中进行过尝试,但无法使其合适。我最后的尝试是:

df = pd.DataFrame(index=mydf.index.values,
                  data=mydf.values,               
                  columns=mydf.columns.values)
df['Year'] = mydf.index.year
ax = sns.boxplot(data=df, x='Year', y=mydf.index.values)
for item in ax.get_xticklabels():
   item.set_rotation(90)

并返回

  

ValueError:所有数组的长度必须相同

1 个答案:

答案 0 :(得分:2)

您可以通过堆叠DataFrame来尝试这种方式:

df_stacked = df.stack().rename('y').reset_index()
sns.boxplot(data=df_stacked,
            x=df_stacked.Date.dt.year,
            y='y'
           )