如何在 Pandas DataFrame 中减去两列?

pythonserver side programmingprogramming

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

方法 1:使用 `sub` 方法

`sub` 方法是 Pandas 的固有函数,有助于直接从一个属性中减去另一个属性。此技术对于在 DataFrame 属性之间执行推论非常简单有效。

语法

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

在这种情况下,"attribute1"和"attribute2"表示 DataFrame 中的属性名称,从而产生一个 Pandas 序列,该序列封装了这两个属性的发现。

示例

在给定的实例中,构建了一个 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:将 `apply` 方法与 lambda 函数结合使用

`apply` 方法与 lambda 函数结合使用时,可在 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 排列。

示例

在随后的示例中,我们使用与之前相同的 DataFrame,并使用 `subtract` 函数从属性 'A' 中扣除属性 'B'。结果存储在名为"差异"的新属性中。

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 DataFrames 中执行属性推导,具体取决于您的数据操作任务的特定需求。


相关文章