将模拟/迭代可视化为框图python中的置信区间?

问题描述 投票:0回答:1

我有一个基于模拟迭代生成的数据的数据(例如,100),并且我试图将100次迭代中的平均值/中值,第一和第三四分位数的变化可视化为框图中的阴影置信区间。我很难在箱线图中找到模拟/迭代的示例工作表示,并且想知道是否有人有方向。感谢您的建议。下图是我试图实现的示例输出示例。

import random
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
import itertools




def generate_dataframe():
    # Create a pandas dataframe...

    _type = ['A', 'B', 'C', 'D'] *2500
    _shares = [random.randint(0,100) for _ in range(10000)]
    lst = range(1,101)    
    _iterations = list(itertools.chain.from_iterable(itertools.repeat(x, 100) for x in lst))
    return pd.DataFrame(
        {
         'Type': _type,
         'shares': _shares,
         'iteration': _iterations
        })



df = generate_dataframe()
#df.boxplot(column = 'shares', by=['Type', 'iteration'])
df.boxplot(column = 'shares', by='Type')

enter image description here

python-3.x statistics data-visualization boxplot
1个回答
0
投票

看来你非常接近。您只需要在代码末尾添加plt.show()即可

import random
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
import itertools

def generate_dataframe():
    # Create a pandas dataframe...

    _type = ['A', 'B', 'C', 'D'] *2500
    _shares = [random.randint(0,100) for _ in range(10000)]
    lst = range(1,101)    
    _iterations = list(itertools.chain.from_iterable(itertools.repeat(x, 100) 
for x in lst))
    return pd.DataFrame(
        {
         'Type': _type,
         'shares': _shares,
         'iteration': _iterations
        })

df = generate_dataframe()
df.boxplot(column = 'shares', by='Type')
plt.show()
© www.soinside.com 2019 - 2024. All rights reserved.