数据框索引是数据框中的一列,代表整个数据框。它可以在创建数据框时指定,甚至可以在分析后设置索引。
当我们谈论数据框的索引时,有必要了解什么是数据框。数据框是Pandas库的常见存储单元,类似于表。也就是说,它以行和列的形式存储数据。
数据框的索引可以是与数据相关的任何列。它也可以采取多种形式。索引可以是数值数据、字符串文字、日期时间实体等。
数据框的索引是其最重要的特征。我们可以选择最能描述数据框的列作为索引。如果索引选择正确,可能会帮助我们更好地理解数据框。如果我们了解数据框包含的内容,我们就可以可视化和操作数据。
说到可视化,Python 的 Matplotlib 库在执行数据可视化和操作任务方面非常有用。我们还可以借助该库可视化数据框。当我们尝试可视化数据框时,我们还可以在绘图时使用其索引作为 X 轴的值。
本文重点介绍数据框及其索引的关键概念,以及如何使用该索引作为绘制图表时 X 轴的值。
什么是数据框?
如上所述,数据帧是跨多行和多列存储数据的存储单元。它可以存储异构数据,这意味着一个数据帧包含多种类型的数据。虽然标题行包含字符串数据类型,但其中的元素可以是数字。
该 pd.DataFrame
方法用于从列表、字典和字典列表等数据结构返回数据帧。数据框还可以创建为 Excel 格式、CSV 格式等。
让我们看看如何从 CSV 文件获取数据框。为此,我们需要将 CSV 数据集下载到我们的环境中。
阅读这篇文章,了解如何在一个数据框中连接多个 CSV 文件。
我们要使用的数据集是一部流行的动漫系列——海贼王。该数据集具有以下列 – 剧集名称、剧集评级、剧集排名、开始年份等。
让我们看看如何从该数据集中创建一个数据框。
1
2
3
4
|
import pandas as pd data = pd.read_csv( '/ONE PIECE.csv' ) df = pd.DataFrame(data) df |
首先,我们需要导入Pandas库来创建数据框。接下来,我们将借助read_csv
Pandas 库的方法读取下载的 CSV 数据集,并将其存储在名为 data 的变量中。
该数据作为参数传递给另一个方法pd.DataFrame
以创建数据框。最后一行打印数据帧。
正如您所看到的,数据框很大,我们不需要整个数据框来分析它。我们还可以打印数据框的前五行或后五行来进行分析。
让我们看看如何显示数据框中选定的行。
df.head() |
数据帧的 head 属性打印数据帧的前五行。类似地,tail 属性打印数据帧的最后五行。
如何设置数据框的索引?
有几种方法可以将数据框的列命名为其索引。让我们来看看这些方法。
使用值列表作为索引
对于数据框,我们可以创建一个元素列表用作索引列。
1
2
3
4
5
6
|
import pandas as pd groc = { 'Food' : [ 'Tacos' , 'Mac and Cheese' , 'Carbonara' , 'Lasagna' , 'Croissant' ], 'Calories' : [ 226 , 164 , 574 , 135 , 406 ]} index1 = [ 'Food_A' , 'Food_B' , 'Food_C' , 'Food_D' , 'Food_E' ] df = pd.DataFrame(groc, index = index1) print (df) |
首先,我们将 Pandas 库导入为 pd。然后,我们创建了一个名为 groc 的字典,其中分别包含一些食物及其卡路里。
接下来,我们创建了一个名为index1的列表,其中包含Food_A到Food_E形式的元素。该列表用作数据框的索引。
上面的字典被渲染为一个数据框,其中index1作为数据框的索引。最后一行打印数据框。
使用设置索引方法
在上一个示例中,我们了解了如何向数据框中不包含索引列的数据框添加索引。pandas库的方法set_index
用于将数据框中存在的列设置为索引。
该set_index
方法可以采用单个列或多个现有列来设置索引。
1
2
3
4
5
6
|
import pandas as pd sal = { 'year' : [ 2016 , 2017 , 2018 , 2019 , 2020 , 2021 , 2022 , 2023 ], 'sales' : [ 120 , 100 , 150 , 200 , 250 , 220 , 270 , 300 ]} df = pd.DataFrame(sal) df.set_index( 'year' , inplace = True ) print (df) |
像往常一样,我们需要首先导入 Pandas 库。接下来,创建一个名为 sal 的字典,其中包含公司逐年销售额的详细信息。
然后使用该字典创建一个名为 df 的数据框。接下来,使用set_index方法将数据框的年份列设置为索引。
最后,我们打印数据框。
如何使用索引作为X轴的值?
Matplotlib 是一个著名的用于数据可视化的库。我们还可以使用这个库可视化和分析数据框。
现在,当我们绘制数据框时,我们可以使用它的索引作为 X 轴的值。
使用 plt.plot 将索引设置为 X 轴值
创建数据框并设置索引后,我们可以绘制图表并使用索引列来命名 X 轴值。
1
2
3
4
5
6
7
8
9
10
11
|
import pandas as pd import matplotlib.pyplot as plt sal = { 'year' : [ 2016 , 2017 , 2018 , 2019 , 2020 , 2021 , 2022 , 2023 ], 'sales' : [ 120 , 100 , 150 , 200 , 250 , 220 , 270 , 300 ]} df = pd.DataFrame(sal) df.set_index( 'year' , inplace = True ) plt.plot(df.index, df[ 'sales' ]) plt.xlabel( 'Year' ) plt.ylabel( 'Sales' ) plt.title( 'Year-wise sales' ) plt.show() |
我们采用了相同的销售数据并将索引指定为列year
。接下来,我们使用plot
matplotlib库的方法。传递给该方法的参数是数据框df的索引,y轴指定为数据框的销售列。
X 轴的标签是 Year,Y 轴的标签是 Sles。该图的标题为“年度销售额”。
然后。库的 show() 方法用于显示图形。
使用数据frame.plot方法
与 matplotlib 库的绘图函数类似,Pandas 库也有一个名为 的属性df.plot
,用于可视化数据框或序列。
让我们看看如何使用这个函数来绘制数据框。
1
2
3
4
5
6
7
8
9
10
11
|
import pandas as pd import matplotlib.pyplot as plt groc = { 'Food' : [ 'Tacos' , 'Mac and Cheese' , 'Carbonara' , 'Lasagna' , 'Croissant' ], 'Calories' : [ 226 , 164 , 574 , 135 , 406 ]} df = pd.DataFrame(groc) df.set_index( 'Food' , inplace = True ) df.plot(kind = 'line' , marker = 'D' ) plt.title( 'Different foods and their calories' ) plt.xlabel( 'Food Item' ) plt.ylabel( 'Calories' ) plt.show() |
我们在这个例子中使用了杂货数据框。该数据框的索引设置为其 Food 列。
df.plot 方法用于在线图中绘制 X 轴上的“食物”列和 Y 轴上的“卡路里”列。标记组件用于设计标记样式。在本例中,D 代表钻石。
在接下来的三行中,我们指定 X 轴和 Y 轴的标题和标签名称
show 方法用于显示图形。
使用 Xticks 设置索引
matplotlib 库的 xticks 方法用于轻松解释图形或绘图的 X 轴。它们还有助于理解情节的规模。
1
2
3
4
5
6
7
8
9
10
11
|
import pandas as pd import matplotlib.pyplot as plt df = pd.DataFrame({ 'A' : [ 1 , 2 , 3 , 4 , 5 ], 'B' : [ 6 , 7 , 8 , 9 , 10 ]}, index = pd.date_range( '2022-03-04' , '2022-03-08' )) df.plot(y = [ 'A' , 'B' ], kind = 'line' , marker = 'x' ) plt.xticks(ticks = df.index, labels = df.index.strftime( '%Y-%m-%d' )) plt.title( 'Using xticks' ) plt.xlabel( 'Date' ) plt.ylabel( 'Value' ) plt.show() |
在此代码中,我们将创建一个随机值数据框,其中指定了 2022 年 3 月 3 日至 2022 年 3 月 8 日之间的日期索引。
然后。df.plot 用于在 y 轴上绘制数据框的两列,并将 x 轴的标签指定为数据框的索引。使用该函数将日期转换为兼容的格式strfttime
。
图表的标题为“使用 xticks”,x 轴和 y 轴的标签分别为“日期”和“值”。
最后,使用show方法来显示图形。
这是一个包装!
最后,我们讨论了什么是数据框以及如何从 CSV 文件创建数据框。该 CSV 文件是一个动漫数据集,其中包含动漫的发行年份、受欢迎程度等列。
接下来,我们学习了如何通过两种不同的方法设置数据框的索引。第一种方法用于使用元素列表设置数据框的索引。
第二种方法使用了一种名为 的方法set_index
,该方法使数据框中已存在的列作为索引。
回到本文的要点,当我们使用 matplotlib 绘制数据框时,我们已经看到了将索引设置为 X 轴值的三种方法。
第一种方法使用plt.plot
它绘制预先声明为 X 轴和另一列作为 Y 轴的数据框的索引。
我们使用的下一个方法df.plot
主要用于绘制数据框或序列。
最后,我们使用 matplotlib 的 xticks 函数来更好地理解绘图的比例。