首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ValueError:'conf_intervals‘和'x’有不同的长度

ValueError:'conf_intervals‘和'x’有不同的长度
EN

Stack Overflow用户
提问于 2022-02-23 20:16:13
回答 1查看 35关注 0票数 1

这是我的密码:

代码语言:javascript
复制
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.colors import hsv_to_rgb
import matplotlib.animation as animation


np.random.seed(12345)

df = pd.DataFrame([np.random.normal(32000,200000,3650), 
                   np.random.normal(43000,100000,3650), 
                   np.random.normal(43500,140000,3650), 
                   np.random.normal(48000,70000,3650)], 
                  index=[1992,1993,1994,1995])
plt.rcParams['figure.figsize'] = [12, 10]

df=df.T

for index,column in df.iteritems():
    std=column.std()/np.sqrt(len(column))    _=plt.boxplot(np.array(column),showfliers=False,patch_artist=True,notch=True,conf_intervals=np.array([column+std,column-std]).T)

不管我做什么,我都会犯这个错误:

代码语言:javascript
复制
ValueError: 'conf_intervals' and 'x' have different lengths

我检查了它们是否是相同的长度,并尝试使用和不将类型更改为numpy数组。

EN

回答 1

Stack Overflow用户

发布于 2022-02-23 20:30:51

它们的形状不同:np.array(column).shape(3650,)np.array([column+std,column-std]).T.shape(3650, 2)

一个简单的修补程序可以将您的x重新定义为x = np.array([column, column])。这是生成的for循环(包括一些格式修复)及其输出:

代码语言:javascript
复制
for index, column in df.iteritems():
    std = column.std() / np.sqrt(len(column))
    x = np.array([column, column])
    conf_intervals = np.array([column + std, column - std]).T
    plt.boxplot(
        x,
        showfliers=False,
        patch_artist=True,
        notch=True,
        conf_intervals=conf_intervals,
    )
plt.show()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71243518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档