如何在 Pandas DataFrame 中减去两列?


在使用 Pandas DataFrame 时,可能会出现需要对属性进行算术运算的情况。其中一个操作就是减去两个属性。在本指南中,我们将深入探讨三种不同的技术来在 Pandas DataFrame 中减去两个属性:使用 `sub` 方法、结合 lambda 函数使用 `apply` 方法以及利用 `subtract` 函数。示例将有助于理解这些方法。

方法 1:使用 `sub` 方法

`sub` 方法是 Pandas 的一个内置函数,它可以方便地直接从一个属性中减去另一个属性。此技术对于在 DataFrame 属性之间执行减法操作来说简单有效。

语法

result = dataframe['attribute1'].sub(dataframe['attribute2'])

在这种情况下,“attribute1” 和“attribute2” 代表 DataFrame 中属性的名称,生成一个 Pandas Series,其中包含这两个属性的差值。

示例

在给定的示例中,构造了一个 DataFrame,包含两个属性,即“A”和“B”。

然后,我们使用 `sub` 方法从属性“A”中减去属性“B”,并将结果存储在一个名为“Difference”的新属性中。

import pandas as pd

data = {'A': [10, 20, 30, 40], 'B': [5, 15, 25, 35]}
df = pd.DataFrame(data)

df['Difference'] = df['A'].sub(df['B'])
print(df)

输出

    A   B  Difference
0  10   5           5
1  20  15           5
2  30  25           5
3  40  35           5

方法 2:结合 lambda 函数使用 `apply` 方法

结合 lambda 函数使用 `apply` 方法可以在 DataFrame 中对两个属性进行逐元素减法。

语法

result = dataframe.apply(lambda row: row['attribute1'] - row['attribute2'], axis=1)

在这里,`apply` 方法迭代 DataFrame 的每一行。lambda 函数将每一行作为输入,并从“attribute1”中减去“attribute2”。结果是一个 Pandas Series,包含这两个属性的差值。

示例

在接下来的示例中,我们使用与之前相同的 DataFrame,并使用结合 lambda 函数的 `apply` 方法从属性“A”中减去属性“B”。结果存储在一个名为“Difference”的新属性中。

import pandas as pd

data = {'A': [10, 20, 30, 40], 'B': [5, 15, 25, 35]}
df = pd.DataFrame(data)

df['Difference'] = df.apply(lambda row: row['A'] - row['B'], axis=1)
print(df)

输出

    A   B  Difference
0  10   5           5
1  20  15           5
2  30  25           5
3  40  35           5

方法 3:利用 `subtract` 函数

`subtract` 函数是 Pandas 的另一个内置函数,它允许在 DataFrame 属性之间进行减法。

语法

result = dataframe['attribute1'].subtract(dataframe['attribute2'])

在这种情况下,“attribute1” 和“attribute2” 作为 DataFrame 中属性名称的占位符,最终生成一个 Pandas Series,其中包含这两个属性的结果。

示例

在接下来的示例中,我们使用与之前相同的 DataFrame,并使用 `subtract` 函数从属性“A”中减去属性“B”。结果存储在一个名为“Difference”的新属性中。

import pandas as pd

data = {'A': [10, 20, 30, 40], 'B': [5, 15, 25, 35]}
df = pd.DataFrame(data)

df['Difference'] = df['A'].subtract(df['B'])
print(df)

输出

    A   B  Difference
0  10   5           5
1  20  15           5
2  30  25           5
3  40  35           5

结论

在本指南中,我们研究了如何在 Pandas DataFrame 中使用各种技术减去两个属性。我们探讨了 `sub` 方法、结合 lambda 函数的 `apply` 方法以及 `subtract` 函数。每种技术都提供了一种简单有效的方法来在 Pandas DataFrame 中执行属性间的减法,具体取决于数据操作任务的特定需求。

更新于:2023-08-28

4K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告