我有12个具有累积值的数据框,我想将它们转换为非累积值。
df1 = pd.DataFrame({
"ADMIN": [1, 2],
"FIN_SOURCE": ["A", "B"],
"PROG": [150, 155],
"FUNC": [1, 2],
"ECON": [30, 50],
"VALUE": [5, 10]
})
df2 = pd.DataFrame({
"ADMIN": [1, 2, 1],
"FIN_SOURCE": ["A", "B", "A"],
"PROG": [150, 155, 160],
"FUNC": [1, 2, 1],
"ECON": [30, 50, 50],
"VALUE": [10, 15, 50]
})
每个数据集都有指向不同类别的列(ADMIN
,FIN_SOURCE
,PROG
,FUNC
,ECON
),对于数据集+1,每个类别中都有更多唯一值。
我尝试做的事情:
indxs = ["ADMIN", "FIN_SOURCE", "PROG", "FUNC", "ECON"]
(df2.set_index(indxs) - df1.set_index(indxs)).reset_index()
ADMIN FIN_SOURCE PROG FUNC ECON VALUE
0 1 A 150 1 30 5.0
1 1 A 160 1 50 NaN #<- I want to keep it as 50 (value in df2 before sub)
2 2 B 155 2 50 5.0