Pandas 用于数据分析的小提琴图
Violin Plot是一种将不同变量的数字数据分布可视化的方法。它类似于箱形图,但每一面都有一个旋转图,在Yaxis上给出了更多关于密度估计的信息。
密度被镜像和翻转,产生的形状被填入,形成一个类似于小提琴的图像。小提琴图的优点是,它可以显示分布中的细微差别,而这些细微差别在膨胀图中是无法察觉的。另一方面,膨胀图能更清楚地显示数据中的异常值。
小提琴图比箱形图拥有更多的信息,它们不太受欢迎。由于它们不受欢迎,对于许多不熟悉小提琴图表示法的读者来说,它们的意义可能更难把握。
要获得Iris Data的链接,请点击-这里。
数据集的属性信息:
Attribute Information:
-> sepal length in cm
-> sepal width in cm
-> petal length in cm
-> petal width in cm
-> class:
Iris Setosa
Iris Versicolour
Iris Virginica
Number of Instances: 150
Summary Statistics:
Min Max Mean SD Class Correlation
sepal length: 4.3 7.9 5.84 0.83 0.7826
sepal width: 2.0 4.4 3.05 0.43 -0.4194
petal length: 1.0 6.9 3.76 1.76 0.9490 (high!)
petal width: 0.1 2.5 1.20 0.76 0.9565 (high!)
Class Distribution: 33.3% for each of 3 classes.
Loading Libraries
import numpy as np
import pandas as pd
import seaborn as sns
from matplotlib import pyplot
import seaborn
Loading Data
data = pd.read_csv("Iris.csv")
print (data.head(10))
输出:
Description
data.describe()
输出:
Info
data.info()
输出:
描述鸢尾花数据集的’SepalLengthCm’参数。
data["SepalLengthCm"].describe()
输出:
count 150.000000
mean 5.843333
std 0.828066
min 4.300000
25% 5.100000
50% 5.800000
75% 6.400000
max 7.900000
Name: SepalLengthCm, dtype: float64
代码#1: Violin Plot for ‘SepalLengthCm’ Parameter.
fig, ax = pyplot.subplots(figsize =(9, 7))
sns.violinplot( ax = ax, y = data["SepalLengthCm"] )
输出:
正如你所看到的,我们在5和6之间有一个较高的密度。这是非常重要的,因为在SepalLengthCm的描述中,平均值是5.43。
代码#2:‘SepalLengthWidth’参数的小提琴图。
fig, ax = pyplot.subplots(figsize =(9, 7))
sns.violinplot(ax = ax, y = data["SepalWidthCm"] )
输出:
在这里,更高的密度也是在平均值=3.05
代码#3:小提琴图比较’SepalLengthCm’和’SepalWidthCm’。
fig, ax = pyplot.subplots(figsize =(9, 7))
sns.violinplot(ax = ax, data = data.iloc[:, 1:3])
输出:
代码#4:小提琴图比较’SepalLengthCm’的物种。
fig, ax = pyplot.subplots(figsize =(9, 7))
sns.violinplot(ax = ax, x = data["Species"],
y = data["SepalLengthCm"] )
输出: