如何在 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+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.