📜  用于数据分析的小提琴图

📅  最后修改于: 2022-05-13 01:55:44.811000             🧑  作者: Mango

用于数据分析的小提琴图

Violin Plot是一种可视化不同变量的数值数据分布的方法。它类似于箱线图,但每边都有一个旋转图,提供有关 y 轴上密度估计的更多信息。
密度被镜像和翻转,最终的形状被填充,创造出一个类似于小提琴的图像。小提琴图的优点是它可以显示分布中的细微差别,而这些细微差别在箱线图中是无法察觉的。另一方面,箱线图更清楚地显示了数据中的异常值。

小提琴图比箱线图包含更多信息,但它们不太受欢迎。由于它们不受欢迎,对于许多不熟悉小提琴情节表示的读者来说,它们的含义可能更难理解。

要获得指向 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.

加载库

import numpy as np
import pandas as pd
import seaborn as sns
from matplotlib import pyplot
import seaborn

加载数据中

data = pd.read_csv("Iris.csv")
  
print (data.head(10))

输出:

描述

data.describe()

输出:

信息

data.info()

输出:

描述 Iris 数据集的“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: “SepalLengthCm”参数的小提琴图。

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"] )

输出: