猿问

每年绘制 python 数据框的箱线图

我有以下数据框:


                    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)(每年的箱线图)。我曾在这个方向上尝试过,但无法使其适合。我的最后一次尝试是:


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:所有数组的长度必须相同


DIEA
浏览 192回答 1
1回答

沧海一幻觉

您可以通过堆叠您的方式来尝试这种方式DataFrame:df_stacked = df.stack().rename('y').reset_index()sns.boxplot(data=df_stacked,            x=df_stacked.Date.dt.year,            y='y'           )
随时随地看视频慕课网APP

相关分类

Python
我要回答