如何为多变量定义四分位数范围并绘制箱形图

时间:2020-06-07 04:15:51

标签: python matplotlib scikit-learn boxplot

如何为以下数据绘制具有Box的离群值

    no,store_id,revenue,profit,state,country
    0,101,779183,281257,WD,India
    1,101,144829,838451,WD,India
    2,101,766465,757565,AL,Japan

代码在下面,代码存在,直到将数据转换为standardscalar,任何人都可以选择minmaxscalar。之后,如何定义Quartile range来定义outliers

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.preprocessing import StandardScaler
df = pd.read_csv(r'anomaly.csv',index_col=False);

df1 = pd.get_dummies(data=df)
df2 = StandardScaler().fit_transform(df1)

1 个答案:

答案 0 :(得分:0)

箱形图和晶须图按约定显示了数据的第25和第75个百分位。

这是使用您提供的数据的中位数自动计算的。

例如,对于以下数据:

no,store_id,revenue,profit,state,country
0,101,779183,281257,WD,India
1,101,144829,838451,WD,India
2,101,766465,757565,AL,Japan
2,101,1000000,757565,AL,Italy

您可以在收入列中显示如下的箱形图:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.preprocessing import StandardScaler
df = pd.read_csv(r'anomaly.csv',index_col=False)

df1 = pd.get_dummies(data=df)
df2 = StandardScaler().fit_transform(df1)

green_diamond = dict(markerfacecolor='g', marker='D')
fig1, ax1 = plt.subplots()
ax1.set_title('Box plot')
ax1.boxplot(df['revenue'], flierprops=green_diamond)
plt.show()

显示异常值:

Box plot with outlier