Python 数据帧中行级的算术运算

Python 数据帧中行级的算术运算,python,pandas,dataframe,row,Python,Pandas,Dataframe,Row,我有一个数据帧,如下所示: df: Heir_1 Heir_2 Amount_1 Amount_2 0 New Argentina 251823845.90 225432949.80 1 New Venice 219982836.00 183705325.60 2 New Denmark 419848669.41 54662

我有一个数据帧,如下所示:

df:
    Heir_1      Heir_2          Amount_1        Amount_2
0   New         Argentina       251823845.90    225432949.80
1   New         Venice          219982836.00    183705325.60
2   New         Denmark         419848669.41    546624742.50
3   New         Russia          218120340.46    151480060.80
4   New         Global          4706066755.41   4432657926.66
这里的概念是全球性的,将始终是
阿根廷
威尼斯
其他
的总和。但是,
其他
行将永远不会被提及。我希望保持dataframe的相同结构,因为它必须经过进一步的代码

那么,如何使用以下公式在表中创建其他行:
Others=Global-agentary-Venice

预期数据帧:

df:
    Heir_1      Heir_2          Amount_1        Amount_2
0   New         Argentina       251823845.90    225432949.80
1   New         Venice          219982836.00    183705325.60
2   New         Denmark         419848669.41    546624742.50
3   New         Russia          218120340.46    151480060.80
4   New         Global          4706066755.41   4432657926.66
5   New         Others          4234260073.51   4023519651.25
相关问题: 还有一个问题,在所有场景中不一定都有这3行。也许有一天,
阿根廷
缺席,或者
威尼斯
缺席,或者
全球
缺席

在这种情况下,有3^3种可能的情况。在这种情况下,我可以使用if语句,但考虑到所有的编码,我不确定这是否是一种好方法

if df[df['Heir_2']=='Global'].shape[0]:
  df_special = df[df['animal'].isin(['Argentina','Venecia'])].sum()
  amount_1 = df[df['Heir_2']=='Global']['Amount_1'] - df_special['Amount_1']
  amount_2 = df[df['Heir_2']=='Global']['Amount_2'] - df_special['Amount_2']
  df.append({'Heir_1':'New','Heir_2':'Others','Amount_1':amount_1,'Amount_2':amount_2},ignore_index=True)