数据可视化

1、你好,西伯恩

欢迎使用数据可视化!

在这门实践性的微课程中,您将学习如何使用seaborn(一种功能强大但易于使用的数据可视化工具)将数据可视化提升到一个新的水平。要使用seaborn,您还将学习一些如何用Python(一种流行的编程语言)编写代码。也就是说,

微课程的目标是那些没有编程经验的人,以及

每个图表都使用简短的代码,使seaborn比许多其他数据可视化工具(例如Excel)更快、更易于使用。

所以,如果你从来没有写过一行代码,你想学习最基本的开始作出更快,更吸引人的情节今天,你在正确的地方!要浏览一下你将要制作的一些图表,请查看下面的数字。

您的编码环境

现在花点时间快速上下滚动这一页。您会注意到有许多不同类型的信息,包括:

文本(就像你现在正在读的文本!),

代码(始终包含在称为代码单元的灰色框中),以及

代码输出(或运行代码的打印结果,总是显示在相应代码的正下方)。

我们将这些页面称为Jupyter笔记本(或者,通常只是笔记本),我们将在整个迷你课程中使用它们。另一个笔记本的例子可以在下面的图片中找到。

在您正在阅读的笔记本中,我们已经为您运行了所有代码。很快,您将使用一个笔记本,它允许您编写和运行自己的代码!

设置笔记本

您需要在每个笔记本的顶部运行几行代码来设置您的编码环境。现在理解这些代码行并不重要,因此我们暂时不深入讨论细节(请注意,它作为输出返回:Setup Complete。)

import pandas as pd
pd.plotting.register_matplotlib_converters()
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
print("Setup Complete")

加载数据

在本笔记本中,我们将使用一个国际足联历史排名数据集为六个国家:阿根廷(ARG),巴西(BRA),西班牙(ESP),法国(FRA),德国(GER)和意大利(ITA)。数据集存储为CSV文件(逗号分隔值文件的缩写)。在Excel中打开CSV文件会显示每个日期的一行,以及每个国家的一列。

国际足联主席

要将数据加载到笔记本中,我们将使用两个不同的步骤,在下面的代码单元中实现,如下所示:

首先指定可以访问数据集的位置(或文件路径),然后

使用文件路径将数据集的内容加载到笔记本中。

注意上面的代码单元有四行。

评论

其中两行前面有一个井号(#),包含褪色和斜体的文本。

这两行代码在运行时都会被计算机完全忽略,它们只出现在这里,以便任何阅读代码的人都能快速理解代码。我们将这两行作为注释,最好包含它们以确保代码易于解释。

可执行代码

另外两行是可执行代码,或者由计算机运行的代码(在本例中,用于查找和加载数据集)。

第一行将fifa\u filepath的值设置为可以访问数据集的位置。在本例中,我们为您提供了文件路径(用引号括起来)。请注意,这行可执行代码正上方的注释提供了对其功能的快速描述!

第二行设置fifa\u数据的值,以包含数据集中的所有信息。这是用pd.read\u csv完成的。紧跟其后的是三段不同的文本(上图中带下划线),用括号括起来,用逗号隔开。这些用于自定义将数据集加载到笔记本中时的行为:

fifa\ U文件路径-数据集的文件路径总是需要首先提供。

index_col=“Date”-加载数据集时,我们希望第一列中的每个条目表示不同的行。为此,我们将index_col的值设置为第一列的名称(“Date”,在Excel中打开文件时在A1单元格中找到)。

parse_dates=True—这告诉笔记本将每行标签理解为日期(与数字或其他具有不同含义的文本相反)。

当您有机会在实际操作中加载自己的数据集时,这些细节很快就会变得更有意义。

现在,重要的是要记住,运行这两行代码的最终结果是,我们现在可以使用fifa\u数据从笔记本访问数据集。

顺便说一句,您可能已经注意到这些代码行没有任何输出(而您之前在笔记本中运行的代码行将Setup Complete作为输出返回)。这是预期的行为——不是所有的代码都会返回输出,这是一个主要的例子!

检查数据

现在,我们将快速查看fifa\u数据中的数据集,以确保它正确加载。

我们通过编写一行代码打印数据集的前五行,如下所示:

从包含数据集的变量开始(在本例中为fifa\ U数据),然后

用.head()跟随它。

您可以在下面的代码行中看到这一点。

现在检查前五行是否与上面数据集的图像一致(当我们看到它在Excel中的样子时)。

绘制数据

在本微课程中,您将学习许多不同的情节类型。在许多情况下,您只需要一行代码就可以制作一个图表!

对于你将要学习的潜行峰值,请查看下面生成折线图的代码。

这段代码现在还没有意义,您将在接下来的教程中了解更多。现在,继续您的第一个练习,在那里您将有机会亲自体验编码环境!

2、折线图

现在您已经熟悉了编码环境,是时候学习如何制作自己的图表了!

在本教程中,您将学习足够的Python来创建具有专业外观的折线图。然后,在下面的练习中,您将使用新技能处理真实世界的数据集。

设置笔记本

我们从设置编码环境开始(此代码是隐藏的,但您可以通过单击右侧文本正下方的“代码”按钮来取消隐藏。)

import pandas as pd
pd.plotting.register_matplotlib_converters()
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
print("Setup Complete")

选择数据集

本教程的数据集跟踪音乐流服务Spotify上的全局每日流。我们关注2017年和2018年的五首流行歌曲:

“你的形状”,EdSheeran(链接)

《绝望》,吕易斯·方子(链接)

“类似的东西”,由链式吸烟者和冷血机(链接)

“谦虚”,由肯德里克·拉马尔(链接)

《难忘》,法国蒙大拿(链接)

请注意,出现的第一个日期是2017年1月6日,对应于EdSheeran发布的“您的形状”的日期。而且,使用该表,您可以看到,“您的形状”在发布当天在全球范围内被流流12287078次。注意,其他歌曲在第一行中缺少值,因为它们直到后来才发布!

加载数据

正如您在上一教程中所学到的,我们使用pd.read_ucsv命令加载数据集。

# 要读取的文件的路径
spotify_filepath = "../input/spotify.csv"

# 将文件读入变量spotify_data
spotify_data = pd.read_csv(spotify_filepath, index_col="Date", parse_dates=True)

运行以上两行代码的最终结果是,我们现在可以使用spotify\ u data访问数据集。

检查数据

我们可以使用在上一个教程中学习的head命令打印数据集的前五行。

# 打印数据的前5行
spotify_data.head()

现在检查前五行是否与上面数据集的图像一致(当我们看到它在Excel中的样子时)。

空条目将显示为NaN,是“nota Number”的缩写。

我们还可以通过只做一个小更改(其中.head()变成.tail())来查看最后五行数据:

# 打印最后五行数据
spotify_data.tail()

谢天谢地,每首歌的内容都是正确的,每天都有数百万的全球流,我们可以继续绘制数据!

绘制数据

现在数据集已经加载到笔记本中,我们只需要一行代码来生成一个线图!

# 显示每首歌曲每日全球流的折线图
sns.lineplot(data=spotify_data)

如上图所示,代码行相对较短,有两个主要组件:

sns.lineplot告诉笔记本我们想要创建一个线图。

在本课程中学习到的每个命令都将以sns开头,这表明该命令来自seaborn包。例如,我们使用sns.lineplot来制作线图。很快,您将了解到,我们使用sns.barplot和sns.heatmap分别制作条形图和热图。

data=spotify_u2;data选择将用于创建图表的数据。

注意,创建线图时,始终使用相同的格式,而使用新数据集更改的唯一内容是数据集的名称。因此,如果您使用的是另一个名为financial_UData的数据集,代码行将显示如下:

sns.lineplot(data=financial_data)

有时我们需要修改一些额外的细节,比如图的大小和图表的标题。每个选项都可以用一行代码轻松设置。

# 设置图形的宽度和高度
plt.figure(figsize=(14,6))

# 添加标题
plt.title("Daily Global Streams of Popular Songs in 2017-2018")

# 显示每首歌曲每日全球流的折线图
sns.lineplot(data=spotify_data)

第一行代码将图形的大小设置为14英寸(宽)乘6英寸(高)。要设置任何图形的大小,只需复制显示的同一行代码。然后,如果要使用自定义大小,请将提供的值14和6更改为所需的宽度和高度。

第二行代码设置图形的标题。请注意,标题必须始终用引号(“…”)括起来!

绘制数据的子集

到目前为止,您已经学会了如何为数据集中的每一列绘制一行。在本节中,您将学习如何绘制列的子集。

我们先打印所有列的名称。这只需要一行代码就可以完成,并且可以通过交换数据集的名称(在本例中是spotify_data)来适应任何数据集。

list(spotify_data.columns)

在下一个代码单元中,我们绘制数据集中前两列对应的行。

# 设置图形的宽度和高度
plt.figure(figsize=(14,6))

# 添加标题
plt.title("Daily Global Streams of Popular Songs in 2017-2018")

# 显示“你的形状”的每日全球流的折线图
sns.lineplot(data=spotify_data['Shape of You'], label="Shape of You")

# 显示每日全球“Despacito”流的线图
sns.lineplot(data=spotify_data['Despacito'], label="Despacito")

# 添加水平轴标签
plt.xlabel("Date")

前两行代码设置了图形的标题和大小(看起来应该非常熟悉!)。

接下来的两行分别在折线图中添加一行。例如,考虑第一个,它为“你的形状”增加了一条线:

# 显示“Shape of You”的每日全球流的折线图
sns.lineplot(data=spotify_data['Shape of You'], label="Shape of You")

这一行看起来与我们在数据集中绘制每一行时使用的代码非常相似,但它有几个关键的区别:

我们没有设置data=spotify\u data,而是设置data=spotify\u data['Shape of You']。通常,为了只绘制一列,我们使用这种格式,将列的名称放在单引号中,并将其括在方括号中(为了确保正确指定列名,可以使用上面学习的命令打印所有列名的列表。)

我们还添加label=“Shape of You”使线条出现在图例中,并设置相应的标签。

最后一行代码修改水平轴(或x轴)的标签,其中所需的标签放在引号(“…”)中。

3、条形图和热图

现在您可以创建自己的折线图了,是时候了解更多的图表类型了!

顺便说一句,如果这是您第一次使用Python编写代码,那么您应该为自己迄今为止所取得的成就感到骄傲,因为学习一项全新的技能绝非易事!如果你坚持微观课程,你会注意到一切只会变得更容易(而你将建立的图表会给人留下更深刻的印象!),因为所有图表的代码都非常相似。像任何技能一样,编码随着时间的推移变得自然,并且伴随着重复。

在本教程中,您将学习条形图和热图。

设置笔记本

一如既往,我们从设置编码环境开始(此代码是隐藏的,但您可以通过单击右侧文本正下方的“代码”按钮来取消隐藏。)

import pandas as pd
pd.plotting.register_matplotlib_converters()
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
print("Setup Complete")

选择数据集

在本教程中,我们将使用美国交通部提供的跟踪航班延误的数据集。

在Excel中打开此CSV文件时,每个月显示一行(其中1=一月,2=二月等),每个航空公司代码显示一列。

每个条目显示不同航空公司和月份(均在2015年)的平均到达延误(分钟)。负条目表示(平均)倾向于提前到达的航班。例如,美国航空公司1月份的航班(航空公司代码:AA)平均晚到大约7分钟,阿拉斯加航空公司4月份的航班(航空公司代码:AS)平均早到大约3分钟。

加载数据

和前面一样,我们使用pd.read\u csv命令加载数据集。

# 要读取的文件的路径
flight_filepath = "../input/flight_delays.csv"

# 将文件读入一个可变的飞行数据
flight_data = pd.read_csv(flight_filepath, index_col="Month")

您可能会注意到,代码比我们在上一个教程中使用的代码略短。在本例中,由于行标签(来自'Month'列)与日期不对应,因此我们不会在括号中添加parse_dates=True。但是,我们保留前两段文字,以提供:

数据集的文件路径(在本例中为flight\u filepath),以及

将用于索引行的列的名称(在本例中为index\u col=“Month”)。

检查数据

由于数据集很小,我们可以很容易地打印出它的所有内容。这是通过只使用数据集的名称编写一行代码来完成的。

# 打印数据
flight_data

条形图

假设我们想创建一个条形图,显示Spirit Airlines(航空公司代码:NK)航班每月的平均到达延误。

# 设置图形的宽度和高度
plt.figure(figsize=(10,6))

# 添加标题
plt.title("Average Arrival Delay for Spirit Airlines Flights, by Month")

# 显示Spirit航空公司每月航班平均到达延误的条形图
sns.barplot(x=flight_data.index, y=flight_data['NK'])

# 为垂直轴添加标签
plt.ylabel("Arrival delay (in minutes)")

自定义文本(标题和垂直轴标签)和图形大小的命令在上一教程中是熟悉的。创建条形图的代码是新的:

# 显示Spirit航空公司每月航班平均到达延误的条形图
sns.barplot(x=flight_data.index, y=flight_data['NK'])

它有三个主要组成部分:

这告诉笔记本我们要创建一个条形图。

记住,sns指的是seaborn包,本课程中用于创建图表的所有命令都将以这个前缀开头。

x=flight_data.index-这决定在水平轴上使用什么。在本例中,我们选择了索引行的列(在本例中,是包含月份的列)。

y=flight_data['NK']-设置数据中用于确定每个杆高度的列。在本例中,我们选择“NK”列。

重要提示:必须使用flight_data.index选择索引列,并且不能使用flight_data['Month'](这将返回错误)。这是因为当我们加载数据集时,“Month”列被用来索引行。我们总是要用这个特殊的符号来选择索引列。

热图

我们还有一个情节类型要学习:热图!

在下面的代码单元中,我们创建了一个热图来快速可视化飞行数据中的模式。每个单元格根据其相应的值进行颜色编码。

# 设置图形的宽度和高度
plt.figure(figsize=(14,7))

# 添加标题
plt.title("Average Arrival Delay for Each Airline, by Month")

# 显示每个航空公司每月平均到达延误的热图
sns.heatmap(data=flight_data, annot=True)

# 为水平轴添加标签
plt.xlabel("Airline")

创建热图的相关代码如下:

# 显示每个航空公司每月平均到达延误的热图
sns.heatmap(data=flight_data, annot=True)

该代码有三个主要组成部分:

这告诉笔记本我们要创建一个热图。

data=flight_data-这告诉笔记本使用flight\ u data中的所有条目来创建热图。

annot=True—这确保每个单元格的值都显示在图表上(忽略此项将删除每个单元格中的数字!)

你能在桌子上发现什么样的图案?例如,如果你仔细观察,年底的几个月(尤其是9-11月)对所有航空公司来说都显得相对黑暗。这表明航空公司在这几个月里(平均而言)更善于保持时刻表!

4、散点图

在本教程中,您将学习如何创建高级散点图。

设置笔记本

一如既往,我们从设置编码环境开始(此代码是隐藏的,但您可以通过单击右侧文本正下方的“代码”按钮来取消隐藏。)

import pandas as pd
pd.plotting.register_matplotlib_converters()
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
print("Setup Complete")

加载和检查数据

我们将使用一个(综合)保险费用数据集,看看我们是否能够理解为什么有些客户支付的费用比其他客户多。

如果您愿意,您可以在这里阅读更多有关数据集的信息。

# 要读取的文件的路径
insurance_filepath = "../input/insurance.csv"

# 将文件读取到变量保险数据中
insurance_data = pd.read_csv(insurance_filepath)

一如既往,我们通过打印前五行来检查数据集是否正确加载。

insurance_data.head()

散点图

要创建简单的散点图,我们使用sns.scatterplot命令,并指定以下对象的值:

水平x轴(x=保险数据['bmi’],以及

垂直y轴(y=保险数据[‘费用’)。

sns.scatterplot(x=insurance_data['bmi'], y=insurance_data['charges'])

上面的散射图表明,体重指数(BMI)和保险费用呈正相关,BMI越高的客户通常也会支付更多的保险费用(这种模式很有意义,因为高BMI通常与慢性病的高风险有关。)

要双重检查此关系的强度,您可能需要添加一条回归线,或者添加最适合数据的行。我们通过将命令更改为sns.regplot来实现这一点。

sns.regplot(x=insurance_data['bmi'], y=insurance_data['charges'])

彩色散点图

我们可以使用散点图来显示(不是两个,而是…)三个变量之间的关系!一种方法是对点进行颜色编码。

例如,为了了解吸烟如何影响体重指数和保险费用之间的关系,我们可以用“smoker”对点进行颜色编码,并在轴上绘制其他两列(“BMI”、“charges”)。

sns.scatterplot(x=insurance_data['bmi'], y=insurance_data['charges'], hue=insurance_data['smoker'])

这个散点图显示,随着体重指数的增加,非吸烟者的支付倾向于略高一些,而吸烟者的支付则要高得多。

为了进一步强调这个事实,我们可以使用sns.lmplot命令添加两条回归线,分别对应于吸烟者和非吸烟者(你会注意到吸烟者的回归线相对于不吸烟者的回归线有一个更陡的斜率!)

sns.lmplot(x="bmi", y="charges", hue="smoker", data=insurance_data)

上面的sns.lmplot命令的工作方式与您迄今为止了解的命令略有不同:

我们没有设置x=insurance\u data['bmi']以在保险数据中选择“bmi”列,而是将x=“bmi”设置为仅指定列的名称。

同样,y=“charges”和hue=“smoker”也包含列的名称。

我们使用data=insurance_u2;data指定数据集。

最后,还有一个情节,你会学到,这可能与你习惯于看散点图的方式略有不同。通常,我们使用散点图来突出两个连续变量(如“bmi”和“电荷”)之间的关系。但是,我们可以适应散点图的设计,以在一个主轴上使用一个分类变量(如“烟鬼”)。我们将此打印类型称为分类散点图,并使用sns.swarmlot命令构建它。

sns.swarmplot(x=insurance_data['smoker'],
              y=insurance_data['charges'])

除此之外,这个情节向我们展示了:

平均而言,不吸烟者的收费比吸烟者低,而且

支付最多的顾客是烟民;而付最少钱的顾客是不吸烟的。

5、分布

在本教程中,您将学习有关直方图和密度图的所有内容。

设置笔记本

一如既往,我们从设置编码环境开始(此代码是隐藏的,但您可以通过单击右侧文本正下方的“代码”按钮来取消隐藏。)

import pandas as pd
pd.plotting.register_matplotlib_converters()
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
print("Setup Complete")

选择数据集

我们将使用一个由150种不同的花组成的数据集,或者分别来自三种不同种类的鸢尾(鸢尾、花色鸢尾和弗吉尼亚鸢尾)的50种花。

加载并检查数据

数据集中的每一行对应于不同的花。有四个测量:萼片的长度和宽度,以及花瓣的长度和宽度。我们也会追踪相应的物种。

# 要读取的文件的路径
iris_filepath = "../input/iris.csv"

# 将文件读入一个可变的iris_data
iris_data = pd.read_csv(iris_filepath, index_col="Id")

# 打印数据的前5行
iris_data.head()

直方图

假设我们想创建一个直方图,看看鸢尾花的花瓣长度是如何变化的。我们可以使用sns.distplot命令来实现这一点。

# 直方图
sns.distplot(a=iris_data['Petal Length (cm)'], kde=False)

我们使用两条附加信息自定义命令的行为:

a=选择要绘制的列(在本例中,我们选择了“花瓣长度(cm)”。

kde=False是我们在创建直方图时经常提供的,因为忽略它会创建一个稍微不同的图。

密度图

下一种类型的图是核密度估计(KDE)图。如果你不熟悉KDE图,你可以把它看作一个平滑的直方图。

为了绘制KDE图,我们使用sns.kdeplot命令。设置shade=真彩色曲线下的区域(和data=具有与我们在上面制作直方图时相同的功能)。

# KDE plot 
sns.kdeplot(data=iris_data['Petal Length (cm)'], shade=True)

2D KDE plots

在创建KDE图时,我们不局限于一列。我们可以使用sns.jointplot命令创建二维(2D)KDE图。

在下面的图中,颜色编码显示了我们看到萼片宽度和花瓣长度的不同组合的可能性,图中较暗的部分更可能出现。

# 2D KDE plot
sns.jointplot(x=iris_data['Petal Length (cm)'], y=iris_data['Sepal Width (cm)'], kind="kde")

注意,除了中间的2dkde图,

图顶部的曲线是x轴上数据的KDE图(在本例中,iris_data['花瓣长度(cm)]),以及

图右侧的曲线是y轴上数据的KDE图(在本例中,iris_data['Sepal Width(cm)])。

彩色编码图

在本教程的下一部分中,我们将创建绘图来了解物种之间的差异。为此,我们首先将数据集分成三个独立的文件,每个物种一个。

# 要读取的文件的路径
iris_set_filepath = "../input/iris_setosa.csv"
iris_ver_filepath = "../input/iris_versicolor.csv"
iris_vir_filepath = "../input/iris_virginica.csv"

#  将文件读入变量
iris_set_data = pd.read_csv(iris_set_filepath, index_col="Id")
iris_ver_data = pd.read_csv(iris_ver_filepath, index_col="Id")
iris_vir_data = pd.read_csv(iris_vir_filepath, index_col="Id")

# 打印Iris versicolor数据的前5行
iris_ver_data.head()

在下面的代码单元中,我们使用sns.distplot命令(如上)三次,为每个物种创建一个不同的直方图。我们使用label=设置每个直方图在图例中的显示方式。

# 每个物种的直方图
sns.distplot(a=iris_set_data['Petal Length (cm)'], label="Iris-setosa", kde=False)
sns.distplot(a=iris_ver_data['Petal Length (cm)'], label="Iris-versicolor", kde=False)
sns.distplot(a=iris_vir_data['Petal Length (cm)'], label="Iris-virginica", kde=False)

# 添加标题
plt.title("Histogram of Petal Lengths, by Species")

# 强制显示图例
plt.legend()

在这种情况下,图例不会自动显示在绘图上。要强制显示(对于任何打印类型),我们可以始终使用plt.legend()。

我们还可以使用sns.kdeplot(如上所示)为每个物种创建KDE图。同样,label=用于设置图例中的值。

# KDE plots for each species
sns.kdeplot(data=iris_set_data['Petal Length (cm)'], label="Iris-setosa", shade=True)
sns.kdeplot(data=iris_ver_data['Petal Length (cm)'], label="Iris-versicolor", shade=True)
sns.kdeplot(data=iris_vir_data['Petal Length (cm)'], label="Iris-virginica", shade=True)

# Add title
plt.title("Distribution of Petal Lengths, by Species")

一个有趣的模式,可以在图中看到的是,植物似乎属于两个组之一,其中鸢尾花色和鸢尾似乎有相似的花瓣长度值,而鸢尾属本身属于一个类别。

事实上,根据这个数据集,我们甚至可以通过观察花瓣长度将任何鸢尾植物归类为鸢尾花(与花色鸢尾或维吉尼亚鸢尾相反):如果鸢尾花的花瓣长度小于2厘米,它很可能是鸢尾花!

6、选择绘图类型和自定义样式

在本微课程中,您学习了如何创建许多不同的图表类型。现在,在学习一些可以用来更改图表样式的快速命令之前,您将组织您的知识。

你学到了什么?

由于决定如何最好地讲述数据背后的故事并不总是那么容易,因此我们将图表类型分为三大类来帮助解决这一问题。

趋势-趋势被定义为一种变化模式。

线形图-线形图最适合显示一段时间内的趋势,多条线可以用来显示多个组的趋势。

关系-有许多不同的图表类型可用于了解数据中变量之间的关系。

sns.barplot-条形图用于比较不同组对应的数量。

sns.heatmap-热图可以用来在数字表中找到颜色编码的模式。

sns.scatterplot-散点图显示两个连续变量之间的关系;如果用颜色编码,我们还可以显示与第三个分类变量的关系。

在散点图中包含一条回归线可以更容易地看到两个变量之间的任何线性关系。

sns.lmplot—如果散点图包含多个颜色编码的组,则此命令可用于绘制多条回归线。

分类散点图显示了连续变量和分类变量之间的关系。

sns.swarmplot-我们将分布可视化,以显示我们期望在变量中看到的可能值,以及它们的可能性。

直方图显示单个数值变量的分布。

KDE图(或2dkde图)显示单个数值变量(或两个数值变量)的估计平滑分布。

sns.jointplot-此命令可用于同时显示2D KDE图和每个单独变量的相应KDE图。

改变seaborn的风格

所有的命令都为每个绘图提供了一个很好的默认样式。不过,您可能会发现定制绘图的外观很有用,谢天谢地,只需再添加一行代码就可以实现这一点!

一如既往,我们需要从设置编码环境开始(此代码是隐藏的,但您可以通过单击右侧文本正下方的“代码”按钮来取消隐藏。)

import pandas as pd
pd.plotting.register_matplotlib_converters()
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
print("Setup Complete")

我们将使用与上一个教程中创建折线图相同的代码。下面的代码加载数据集并创建图表。

# 要读取的文件的路径
spotify_filepath = "../input/spotify.csv"

# 将文件读入变量spotify_data
spotify_data = pd.read_csv(spotify_filepath, index_col="Date", parse_dates=True)

# 折线图
plt.figure(figsize=(12,6))
sns.lineplot(data=spotify_data)

我们只需一行代码就可以快速地将图形的样式更改为不同的主题。

# 将人物的风格改为“dark”主题
sns.set_style("dark")

# 折线图
plt.figure(figsize=(12,6))
sns.lineplot(data=spotify_data)

Seaborn有五个不同的主题:(1)“darkgrid”;(2)“whitegrid”;(3)“dark”;(4)“white”和(5)“ticks”,您只需使用与上面代码单元中的命令类似的命令(填写所选主题)即可对其进行更改。

在接下来的练习中,您

将尝试这些主题,看看您最喜欢哪一个!

7、最终项目

到目前为止,您已经使用了我们为您提供的数据集。在本教程中,您将学习如何使用自己的数据集。然后,在下面的练习中,您将设计和创建自己的数据可视化。

您将了解所有关于Kaggle数据集的知识,这是一种工具,您可以使用它存储自己的数据集,并快速访问成千上万个公共可用数据源。

Kaggle数据集

您可以通过访问以下链接访问Kaggle数据集:

https://www.kaggle.com/datasets

链接将带您到一个网页,其中包含一个长列表的数据集,您可以在自己的项目中使用。

注意,您看到的数据集列表可能与上面截图中显示的数据集不同,因为每天都会上载许多新数据集!Kaggle数据集上有许多不同的文件类型,包括CSV文件,还有更多的异域文件类型,如JSON、SQLite和BigQuery。我们将小心地选择一个至少有一个CSV文件的数据集,因为这是我们在本课程中使用的文件类型。

要搜索特定数据集,请使用屏幕顶部的搜索栏。例如,您想使用一个关于漫画书字符的数据集。首先在搜索窗口中键入“漫画”。

然后,找到Fivethirty8漫画字符数据集。注意,数据集包含3个文件,包括一个我们可以使用的CSV文件。

然后,单击数据集以选择它。这将带您到描述数据集的网页。

向下滚动以查看窗口左侧Data Explorer下的数据集中文件列表。数据集包含三个文件:(1)README.md,(2)dc-wiki-data.csv和(3)marvel-wiki-data.csv。第一个文件被选择为默认文件。单击其中一个CSV文件,以查看文件的快速预览。

现在花点时间来浏览页面上的其他选项卡;例如,查看讨论选项卡,查看其他人对数据集的看法。

使用自己的数据集

在下面的练习中,您将使用所选的任何CSV数据集。正如您在上面所了解到的,Kaggle数据集包含大量可以使用的数据集。如果您希望使用自己的数据集,您需要先将其上载到Kaggle数据集。

要了解更多有关如何做到这一点,请看下面!

from IPython.display import YouTubeVideo
YouTubeVideo('YryPL0GnfTc', width=800, height=450)

如果您不熟悉CSV文件类型,请注意Kaggle数据集平台将自动将所有表格数据转换为CSV文件。所以,请随意上传谷歌电子表格或Excel工作表之类的东西,它将为您转换成CSV文件!

8、创建自己的笔记本

恭喜你完成了微课程的学习!

在最后的教程中,您将学习一个高效的工作流,您可以使用它在Kaggle网站上继续创建自己的惊人的数据可视化效果。

工作流

首先导航到Kaggle笔记本的站点:

https://www.kaggle.com/kernels

然后,在右上角单击[新建笔记本]。

这将打开一个弹出窗口。

然后,单击[创建](不要更改默认设置:因此,“Python”应该出现在“Select language”下,而您应该在“Select type”下选择“Notebook”。)

这将打开一个带有一些默认代码的笔记本。请删除此代码,并用下面单元格中的代码替换(这与您在所有练习中用于设置Python环境的代码相同。)

import pandas as pd
pd.plotting.register_matplotlib_converters()
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
print("Setup Complete")

下一步是在编写代码将数据集可视化之前附加数据集(您在上一个教程中学习了如何做到这一点。)

然后,一旦你生成了一个图形,你只需要将它保存为一个图像文件,你可以很容易地添加到你的演示文稿!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值