我有一个数据,该数据具有基于模拟迭代生成的值(例如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')
答案 0 :(得分: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()