Pandas 中的轴是什么意思?

当您使用 Pandas 时,您一定已经将轴视为许多函数的参数。这个轴是什么?这是什么意思?为什么它如此重要?让我们深入研究 Pandas,了解这个轴是什么以及如何使用它。

什么是熊猫?

Pandas 是整个 Python 中最受欢迎和最重要的库之一。它是数据科学领域最重要的图书馆。Pandas 通常用于处理 CSV 文件、Excel 文件或 SQL 数据库。Pandas 让我们可以轻松处理数据集或任何类型的结构化数据。Pandas 使用一种称为数据帧的特殊数据结构来存储结构化数据。一旦我们将数据集转换为数据框,使用 Pandas 中可用的函数操作其中的数据就变得非常容易。Pandas 与 matplotlib 和 numpy 等其他数据科学库一起使 Python 成为任何类型数据科学工作的最佳语言。

相关:深入学习Pandas 。

什么是数据框?

数据框架是 pandas 特有的数据结构,用于存储结构化数据。它由表中的列和行组成。它基本上是一个键:列表对的Python字典,其中键是列名,相应的列表是列内的值。一旦我们有了数据框,我们就可以围绕一系列数据值执行大量数学运算,甚至可以使用 matplotlib 等库来绘制图表。

如何创建数据框?

1
2
3
import pandas as pd
df = pd.read_csv("example.csv")
df
使用 Pandas 创建数据框的代码和输出

在上面的代码块中,首先,我们导入了 pandas 库并将其命名为 pd。然后我们使用pandas库的read_csv函数读取“example.csv”文件并将其存储在df变量中。read_csv 函数的输出是一个数据帧。read_csv 函数创建 CSV 文件的数据帧。如果您有 Excel 文件,则可以使用 read_excel 函数。它与 read_csv 类似,创建 Excel 文件的数据框。然后,当我们打印 df 变量时,我们会得到一个数据帧作为输出。

万岁!我们刚刚创建了一个数据框。那不是很容易吗?

数据框

好的,现在我们已经创建了一个数据框,让我们在它上面尝试一些 pandas 函数。我们可以做什么?是的!让我们尝试找出该发明所有这些年的平均值。

Pandas 的均值函数

df.mean(axis=0,numeric_only=True)
Pandas Mean 函数的代码和输出

好吧,当我们尝试在数据帧上使用mean函数时,它给了我们两个输出,即每列的平均值和数据类型。我们只得到了基础年份的平均值,即 1985.7,因为我们将平均值函数的 numeric_only 参数设置为 True。由于其余列中都有字符串值,因此我们没有获得它们的平均值。我们还传递了另一个参数的值,即“轴”。我们将其值传递为 0。

好吧,让我们进入主要问题,这个轴是什么?

轴到底是什么?

轴指定我们要在其中执行功能的数据框的维度。数据框只是一个表。所以它有两个维度,一行和一列。这意味着 axis 参数指定我们是否要对列或行执行聚合。

0 轴值表示我们必须对列执行聚合,1 轴值指定我们要对行执行聚合。由于我们将轴值指定为 0,因此对列执行了聚合。如果我们将其值设置为 1,则将对行执行聚合。

让我们将轴设置为 1 并尝试再次求均值。

查找数据帧行的平均值

df.mean(axis=1,numeric_only=True)
用于查找数据框行平均值的代码和输出

因此,当我们将轴的值传递为 1 时,这意味着我们尝试计算所有行的平均值,我们会得到 row_index: 平均值对中的输出,然后是 float64 的数据类型。因此,第 0 个索引行的平均值是 1972.0,这是因为该行中唯一的数值是基础年份,即 1972 年。因此,只有 1972/1 给出了浮动值 1972.0。所有其他行也是如此。

另外,axis参数的默认值为0。因此我们可以在参数中不提及轴的值。在这种情况下,将为每列计算平均值。

该轴参数存在于每个聚合函数的参数中。对于每个函数,它的行为方式也相同。一旦理解了这个轴参数,您就可以继续使用其他类似的参数并涵盖 pandas 库的所有功能。起初,它们看起来都很难理解,所以我们不断地把它们推开。但一旦我们开始理解,事情就非常简单了。

一旦掌握了窍门,您就可以开始使用图形绘制库,例如 Matplotlib、seaborn,甚至是高级图形绘制库 Plotly。让我们对 matplotlib 进行一个简单的概述,并了解与图形绘制相关的轴参数。

什么是 Matplotlib?

Matplotlib 是 Python 中另一个重要的数据科学库。它用于创建高质量的动画、静态和交互式可视化。它通常与其他数据科学库(如 Pandas 和 Numpy)一起使用。它可以以任何格式(如 PNG、SVG、PDF)渲染视觉效果,甚至可以直接在 Jupyter 或任何其他笔记本中渲染视觉效果。

相关:深入学习Matplotlib 。

理论已经足够了,让我们尝试根据之前创建的数据框制作一个条形图。

使用 Matplotlib.pyplot 绘制条形图

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import matplotlib.pyplot as plt
 
# Setting the axes
x = df['Programming language']
y = df['Foundation year']
 
# Create a bar chart
plt.bar(x, y)
 
# Add labels and title
plt.xlabel('Programming language')
plt.ylabel('Year of invention')
plt.title('Programming language-Year of invention graph')
 
# Show the chart
plt.show()

在上面的代码中,首先,我们从 matplotlib 库中导入 Pyplot 模块作为 plt ,用于绘制图形。我们将用它来绘制条形图。然后我们将 x 轴设置为编程语言列,将 y 轴设置为基础年份列。然后我们只需使用 Pyplot 的 bar 函数来创建条形图。然后我们将x轴命名为编程语言,y轴命名为发明年份,并命名为编程语言-发明年份图。最后,我们只需使用 show 函数即可在输出中显示图形。

使用数据框绘制图形的代码

让我们看看图表是什么样子的。

一些流行编程语言的发明年份图

这是经典的条形图。轴是我们指定的,我们可以了解每种编程语言的发明年份。这里,我们基于列轴绘制图表,类似地我们也可以基于行绘制图表。

结论

Pandas、matplotlib 和所有其他库对于数据科学都非常重要。如果您想成为一名数据科学家或正在从事数据科学项目,那么正确了解这些库至关重要。这些小事情可能会让你感到困惑,但你必须对自己有信心并不断学习。如果你继续努力,你很快就会明白一切。

参考

Pandas 的官方 Python 文档

堆栈溢出对同一问题的回答。