Pandas 如何使用axis = 0和axis = 1

Pandas 如何使用axis = 0和axis = 1

作为一个程序员,当我们处理数据时,可能需要仅对行或列进行操作,或同时对两者进行操作。在pandas中,轴指的是如何将函数或操作应用于数据框架或系列。Pandas只能取两个值,即0或1,作为轴属性的参数。在本文中,我们将学习如何在Pandas中使用axis = 0和axis = 1。

了解轴

在我们继续之前,让我们简要介绍一下pandas的轴。正如我们所知,pandas中的数据框是一个由行和列组成的二维表。

  • 轴0 – 轴0指的是数据框或系列的行。它通常被称为“索引轴”。当对轴0应用操作时,意味着将该操作应用于数据框或系列的每一行。

  • 轴1 – 轴1指的是数据框或系列的列。它通常被称为“列轴”。当对轴1应用操作时,意味着将该操作应用于数据框或系列的每一列。

使用axis = 0

如前所述,axis = 0指的是数据框或系列的行。我们可以使用此属性将任何内置函数应用于行。请注意,如果数据中存在空值,则会忽略该元素。

语法

row_operation = df.<operation>(axis=0)

这里df是我们需要应用操作的数据框。是我们需要执行的操作。例如,“sum”是一个有效的操作。确保操作是有效的。axis=0指定我们需要按行应用操作。

示例

在下面的代码中,我们首先使用别名导入了pandas和numpy库。接下来,我们使用pandas库的Data Frame方法创建了一个名为df的数据框。我们对数据框应用了一个求和操作,沿着axis=0的方向,也就是按行进行。这里第一行、第二行和第三行的值是1,4.7;因此我们得到了第一列的结果1+4+7=12。

import pandas as pd
import numpy as np

df = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]),
                   columns=['A', 'B', 'C'])
row_sum = df.sum(axis=0)
print(row_sum)

输出

A    12
B    15
C    18
dtype: int64

使用axis = 1

axis = 1指的是数据帧或系列的列。我们可以通过这个属性对列应用任何内置函数。请注意,如果数据中存在任何空值,它也会处理这些空值。在这种情况下,它会简单地忽略该元素。

语法

column_operation = df.<operation>(axis=1)

在这里,df是我们需要应用操作的数据框。是我们需要执行的操作。例如,“sum”是一个有效的操作。请确保操作是有效的。axis=1指定我们需要逐列应用操作。

示例

在下面的代码中,我们首先导入了pandas和numpy库,并使用别名进行了命名。接下来,我们使用pandas库的Data Frame方法创建了一个名为df的数据框。我们使用axis=1对数据框进行了求和操作,这意味着按列进行计算。这里第一、第二和第三行的值分别为1、2和3;因此我们得到了第一列的结果1+2+3=6,依此类推。

import pandas as pd
import numpy as np

df = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]),
                   columns=['A', 'B', 'C'])
column_sum = df.sum(axis=1)
print(column_sum)

输出

0     6
1    15
2    24
dtype: int64

同时使用这两个操作

也可以采用按照顺序使用这两个操作的方式。通过这种方式,我们可以访问任何元素并在虚拟上遍历整个数据框。例如,如果我们首先使用axis=0,我们可以遍历所有的行,然后通过使用axis=1,我们可以遍历行内的列。

示例

我们在下面的代码中使用了Pandas库中的数据框方法创建了一个名为df的数据框。接下来,我们使用了max方法和axis=1对列应用了最大值操作;然后,我们使用了sum方法和axis=0对每行的求和操作进行应用。

import pandas as pd
import numpy as np
df = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]), columns=['A', 'B', 'C'])
row_max = df.max(axis=1)
print("Maximum value in each row:")
print(row_max)
total_max = row_max.sum(axis=0)
print("Sum of maximum values:")
print(total_max)

输出

Maximum value in each row:
0    3
1    6
2    9
dtype: int64
Sum of maximum values:
18

结论

在本文中,我们学习了如何在Pandas中使用axis=0和axis=1。当处理panda的数据框中的行或列时,这个概念特别有用。我们建议读者在更多的数据集上尝试这个操作,以对这个主题有更多的信心。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程