python数据科学(四分位准则及绘制箱线图)
程序员文章站
2022-06-19 23:25:33
绘制箱线图一般有两种方法:1.DataFrame方法:import pandas as pdimport matplotlib.pyplot as pltdf = pd.read_csv("26_finaldata_lowfreq_magn.csv")feature_names = ["average"]feature_data = {}for f in feature_names: feature_data[f] = df[f]data = pd.DataFrame(fea...
绘制箱线图一般有两种方法:
1.pandas
方法:
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv("26_finaldata_lowfreq_magn.csv")
feature_names = ["average"]
feature_data = {}
for f in feature_names:
feature_data[f] = df[f]
data = pd.DataFrame(feature_data)
data.plot.box(title="Average value of electromagnetic acquisition data of platform 26")
plt.show()
2.matplotlib.pyplot
方法:
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv("26_finaldata_lowfreq_magn.csv")
plt.boxplot(x=df["average"],
patch_artist=True, # 是否要自定义颜色
showmeans=False, # 是否显示均值点
boxprops={"color": "black", "facecolor": "c"}, # 箱体的颜色属性,color:边框色,facecolor:填充色
flierprops={"marker": 'o', "markerfacecolor": "darkorange", "color": "black", "alpha": 0.8}, # 异常值的颜色属性,color:轮廓颜色,marker:标记形状,markerfacecolor:填充色
medianprops={"linestyle": "--", "color": "black"}) # 中位线颜色属性,linestyle:线型,color:线的颜色
plt.show()
通常我们可以通过四分位来检测异常值:
通过上图我们视在上下限之外的数据为异常值。至于上四分位数、中位数、下四分位数,通过python的pandas的用法就能得出,无需自己计算:
import pandas as pd
import matplotlib.pyplot as plt
num = [1, 2, 3, 4, 5, 6, 7, 8]
print(pd.DataFrame(num).describe())
0
count 8.00000
mean 4.50000
std 2.44949
min 1.00000
25% 2.75000
50% 4.50000
75% 6.25000
max 8.00000
25%、50%、75%分别对应上四分位数、中位数和下四分位数,通过公式我们计算得到上四分位数的位置为6.75,也就是在数字6和7之间,但是num列表中根本不存在位置为6.75的值,这时需要按照占比来重新计算,我们认为在6和7之间数据都是均匀分布的,而6.75这个位置占左边6的75%,占右边7的25%,所以6 * 0.75+7 * 0.25=6.25,至于下四分位数同理,通过公式计算得到下四分位数的位置为2.25,即在数字2和3之间,但是由于列表中不存在2.25的位置,所以经过重新计算,2.25这个位置占左边2的25%,占右边3的75%,2 * 0.25+3 * 0.75=2.75。
本文地址:https://blog.csdn.net/qq_38883271/article/details/107057130