乐趣区

关于人工智能:1行代码完成可视化Seaborn3个常用方法示例

数据可视化基本上是数据的图形示意。在探索性数据分析中,能够应用数据可视化来了解变量之间的关系,还能够通过视化数据揭示底层构造或理解数据信息。

有多种工具能够帮忙咱们创立数据可视化。Seaborn 就是其中之一,它是一个风行的 Python 数据可视化库。尽管 Seaborn 也是基于 Matplotlib,然而与其余风行的数据可视化库相比,Seaborn 的语法更简略须要的代码更少。

只需一行 Seaborn 代码,咱们就可能创立最罕用的绘图并对其进行自定义,这是咱们将在本文中重点介绍的内容。本文中将应用 Seaborn 的来创立以下绘图:

  • 散点图
  • 折线图
  • 直方图
  • 箱形图

然而,咱们将介绍的性能不仅限于这些图,还能够用于创立其余几种图,例如 kde 图、条形图和小提琴图。

Seaborn 有一些内置的数据集,能够应用 load_dataset 函数拜访。本文将应用 penguins 和 taxis 数据集进行演示。

# importing libraries
import pandas as pd
import seaborn as sns
sns.set(style="darkgrid")

# reading the datasets
penguins = sns.load_dataset(name="penguins")
taxis = sns.load_dataset(name="taxis")

散点图

penguins.head()

relplot 是最罕用的一个函数。能够创立散点图和折线图,因为两种绘图类型次要用于钻研变量之间的关系。

以下代码创立散点图。height 和 aspect 参数调整图形大小。

sns.relplot(data=penguins, x="bill_length_mm", y="bill_depth_mm", 
            kind="scatter", height=6, aspect=1.4)

每个点代表一个数据点(即行)。咱们能够应用 hue 参数通过以不同的色彩显示来辨别不同的类别。这是一个将上图中的雌性和雄性企鹅离开的示例。

sns.relplot(data=df, x="bill_length_mm", y="bill_depth_mm", 
            hue="sex", kind="scatter", height=6, aspect=1.4)

折线图

折线图是另一种十分罕用的关系图。它能够展现值如何随工夫或间断测量而变动。

咱们将创立一个折线图来可视化每日乘客数量,该数量能够应用 Pandas 的 groupby 函数从出租车数据集中计算出来。为了让事件变得更乏味,咱们还别离计算不同领取形式的总数。

taxis["date"] = taxis["pickup"].astype("datetime64[ns]").dt.date

taxis_daily = taxis.groupby(["date","payment"], as_index=False).agg(total_passengers = ("passengers","sum"),
    total_amount = ("total","sum")
)

taxis_daily.head()

以下代码行创立了一个显示每日总乘客人数的折线图。

sns.relplot(data=taxis_daily, x="date", y="total_passengers",
            hue="payment", kind="line", height=5, aspect=2)

直方图

直方图用于可视化连续变量的数据分布。它们将值范畴划分为离散的 bin,并显示每个 bin 中的数据点数(即行)。

对于后面的示例,计算每日乘客人数和总量创立总金额的直方图,如下所示:

sns.displot(data=taxis_daily, x="total_amount", kind="hist",
            height=5, aspect=1.5, bins=12)

displot 函数能够用于创立直方图,kde 图 和 ecdf 图。bins 参数管制直方图中的 bin 数量。

这个直方图通知咱们的是,破费的总金额通常在 1000 左右。条的高度与它们所代表的范畴内的值的数量成正比。

箱形图

箱线图是一个分类分布图,显示变量在中位数和四分位数方面的散布。Seaborn 的 catplot 函数能够创立箱形图。

sns.catplot(data=penguins, x="island", y="body_mass_g", kind="box",
            height=5, aspect=1.5)

黑白框笼罩了第一个和第三个四分位数之间的范畴,两头的线是中值。当所有值按升序排序时:

  • 第一个四分位数是找到 25% 数据点的值。
  • 中位数是两头的点。
  • 第三个四分位数是找到 75% 数据点的值。

较高的箱线图表明这些值更加扩散。

总结

Seaborn 使创立数据可视化变得非常容易。它们提供了清晰直观的语法。并且 seaborn 的函数语法基本相同。只需更改函数名称和 kind 参数,就能够只用一行代码创立许多不同的图。

https://www.overfit.cn/post/64e1f6f65f0a4a19b01ded1e2fe82a32

作者:Soner Yıldırım

退出移动版