【发布时间】:2018-11-30 10:59:08
【问题描述】:
我正在尝试用 seaborn 构建一个盒子和胡须图。我的最小值为“-200,000”,最大值为“1,400,000”。这两个都是异常值。但是我只得到了有点类似于散点图的图表。
下面是我的代码
import pandas as pd
import numpy as np
import xlrd
import matplotlib.pyplot as plt
import seaborn as sns
pi_analysis = pd.read_excel(r'C:\PI\PI Analysis.xlsx',
sheet_name = 'Raw Data'
, header = 0
)
print(pi_analysis)
group_segement= pi_analysis[['Segment', 'TOTAL AMOUNT']].groupby('Segment').sum()
print(group_segement)
group_segement_mean= pi_analysis[['Segment', 'TOTAL AMOUNT']].groupby('Segment')
group_segement_mean.mean().head()
group_segement_mean.describe()
sns.boxplot(x="Segment", y="TOTAL AMOUNT",data=pi_analysis)
附上图片。已尝试更改访问权限。那没起效。任何关于如何显示盒子和胡须的建议。
更改比例后的新图像。
这是代码部分。但是它仍然没有给我完整的视图。
ax=sns.boxplot(x='Segment',y='TOTAL AMOUNT',data=pi_analysis)
ax.set_ylim(-10*10^8,10*10^8)
问候, 任。
【问题讨论】:
-
如果您删除那些异常值并重新绘制,您会看到什么?看起来这些框可能由于数据的规模而被压缩
-
@G.Anderson 我进行了更改,但仍然没有看到任何改进。有没有办法我可以改变比例,这样它们的盒子就不会被压缩。
-
@G.Anderson 使用此
ax=sns.boxplot(x='Segment', y='TOTAL AMOUNT',data=pi_analysis, linewidth = 2.5) ax.set_ylim([-2*10^7,2*10^97)进行了更改以进行扩展。它确实显示了该框。有一个更好的方法吗。因为我无法查看所有正在绘制的数据点。根据 Y 中的最大值将访问量转换为数百万或数十亿 -
我的问题是箱线图是否是数据的正确表示。如果您的范围和四分位数使得您得到您所做的结果,那么我会考虑设计您的数据以删除异常值,或者找到更适合您的目的的另一种表示
-
@G.Anderson 找出我正在尝试箱线图的异常值,然后希望通过创建一个新的数据框将它们从数据中删除。我不可能检查超过 40000 行来找出每个段的异常值