[英]How to subtract two identical dataframes in pandas
我在 pandas/python(a 和 b)中有兩個相同的數據框,只有值不同:
A:
date a1 a2 a3
01.01.2020 2 2 2
02.01.2020 3 3 3
03.01.2020 4 4 4
乙:
date a1 a2 a3
01.01.2020 1 1 1
01.01.2020 2 2 2
01.01.2020 3 3 3
我需要 a - b 並希望看到結果 c:
date a1 a2 a3
01.01.2020 1 1 1
01.01.2020 1 1 1
01.01.2020 1 1 1
a - b 不起作用,我不知道怎么做。 你能幫幫我嗎? 謝謝!
您可以set_index
:
new_df = (a.set_index('date') - b.set_index('date')).reset_index()
但是,只有當您的日期在兩個數據框之間相同並且每個數據框內不同時,這才有效。
在另一種情況下(如您的示例數據所示),您可以執行以下操作:
c = b.copy()
c.iloc[:,1:] = a.iloc[:, 1:] - b.iloc[:,1:]
嘗試使用df1.subtract(df2)
。 簡單而優雅。
假設兩個數據框中的日期相同,您可以使用df.sub
:
df = a.set_index('date').sub(b.set_index('date')).reset_index()
Output:
date a1 a2 a3
0 01.01.2020 1 1 1
1 01.01.2020 1 1 1
2 01.01.2020 1 1 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.