如何在 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 中执行属性间的减法,具体取决于数据操作任务的特定需求。