Pandas DataFrame:根据另一列中的值操作一列中的值



我得到了两个Pandas dataframe df和df_0:

df = pd.DataFrame({'condition': [1, 2, 3], 
'value': [1, 2, 3]})
df_0 = pd.DataFrame({'condition': [1, 2], 
'value': [1, 3]})
condition  value
0          1      1
1          2      2
1          3      3
condition  value
0          1      1
1          2      3

我想从df中的值(列)中减去(-=)df_0中的值,如果对应。条件值/列相同

Pseudo code 
df_desired_result = pd.DataFrame({'condition': [1, 2, 3], 
'value': [0, -1, 3]})
condition  value
0          1      0
1          2     -1
2          3      3

我怎样才能做到这一点?

提前感谢您的回复!

露西

Pandas执行索引相关的算术运算。只需将"条件"设置为索引,然后填充NaN值

import pandas as pd
import numpy as np
df = pd.DataFrame({'condition': [1, 2, 3], 
'value': [1, 2, 3]})
df_0 = pd.DataFrame({'condition': [1, 2], 
'value': [1, 3]})
df_desired_result  = df.set_index('condition')-df_0.set_index('condition').reindex(df.condition,fill_value=0)
print(df_desired_result)

相关内容

  • 没有找到相关文章

最新更新