共计 2081 个字符,预计需要花费 6 分钟才能阅读完成。
数据可视化基本上是数据的图形示意。在探索性数据分析中,能够应用数据可视化来了解变量之间的关系,还能够通过视化数据揭示底层构造或理解数据信息。
有多种工具能够帮忙咱们创立数据可视化。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