箱线图和数据异常值
Boxplot and data outliers
我有一个字典形式的数据,我将其转换为 pandas,我试图绘制超出 68 和 72 范围的数据。最终我试图旋转框的标题印迹 90 度,并尽可能排除异常数据。在我的真实世界场景下面的这个片段中,它不可能读取到列 header 并且如果只有少数异常值在 68 和 72 范围之外,它也没有必要显示箱线图。非常感谢任何提示.. .
我将编写一些代码来模仿我的真实应用程序。
df = pd.DataFrame(dict(a=[71.5,72.8,79.3],b=[70.2,73.3,74.9],c=[63.1,64.9,65.9],d=[70.1,70.9,70.9]))
标记太热:
TooHot = df.apply(lambda x: not (x > 72).any())
print('These zones are too warm')
df[TooHot[~TooHot].index].boxplot()
plt.show()
标记太酷了:
TooCool = df.apply(lambda x: not (x < 68).any())
print('These zones are too cool')
df[TooCool[~TooCool].index].boxplot()
plt.show()
.boxplot()
中的关键字参数 showfliers=False
将删除异常值,使其不显示在图上。
使用 vert=False
将使箱线图水平(我想这就是你要问的?
matplotlib boxplots 的文档是一个很好的起点:https://matplotlib.org/api/_as_gen/matplotlib.pyplot.boxplot.html
我有一个字典形式的数据,我将其转换为 pandas,我试图绘制超出 68 和 72 范围的数据。最终我试图旋转框的标题印迹 90 度,并尽可能排除异常数据。在我的真实世界场景下面的这个片段中,它不可能读取到列 header 并且如果只有少数异常值在 68 和 72 范围之外,它也没有必要显示箱线图。非常感谢任何提示.. .
我将编写一些代码来模仿我的真实应用程序。
df = pd.DataFrame(dict(a=[71.5,72.8,79.3],b=[70.2,73.3,74.9],c=[63.1,64.9,65.9],d=[70.1,70.9,70.9]))
标记太热:
TooHot = df.apply(lambda x: not (x > 72).any())
print('These zones are too warm')
df[TooHot[~TooHot].index].boxplot()
plt.show()
标记太酷了:
TooCool = df.apply(lambda x: not (x < 68).any())
print('These zones are too cool')
df[TooCool[~TooCool].index].boxplot()
plt.show()
.boxplot()
中的关键字参数 showfliers=False
将删除异常值,使其不显示在图上。
使用 vert=False
将使箱线图水平(我想这就是你要问的?
matplotlib boxplots 的文档是一个很好的起点:https://matplotlib.org/api/_as_gen/matplotlib.pyplot.boxplot.html