【发布时间】:2020-03-05 14:16:56
【问题描述】:
我是 pandas/seaborn/etc 的新手,并尝试以不同的样式(使用 seaborn)绘制我的数据子集,使用类似于此处的示例 https://seaborn.pydata.org/generated/seaborn.stripplot.html :
>>> ax = sns.stripplot(x="day", y="total_bill", hue="smoker",
... data=tips, jitter=True,
... palette="Set2", dodge=True)
我的目标是仅绘制每个x/hue 维度内的异常值,即对于显示的示例,我将为 8 个不同的点列使用 8 个不同的百分位数截止值显示出来。
我有一个像这样的数据框:
Cat RPS latency_ns
0 X 100 909423.0
1 X 100 14747385.0
2 X 1000 14425058.0
3 Y 100 7107907.0
4 Y 1000 21466101.0
... ... ... ...
我想过滤这些数据,只留下 99.9% 以上的异常值。
我发现我可以做到:
df.groupby([dim1_label, dim2_label]).quantile(0.999)
得到类似的东西:
latency_ns
Cat RPS
X 10 RPS 6.463337e+07
100 RPS 4.400980e+07
1000 RPS 6.075070e+07
Y 100 RPS 3.958944e+07
Z 10 RPS 5.621427e+07
100 RPS 4.436208e+07
1000 RPS 6.658783e+07
但我不确定合并/过滤操作从这里到哪里去。
【问题讨论】:
标签: python pandas numpy seaborn