首页 > 解决方案 > 程序计算每行项目的税率等于 BTW

问题描述

我有以下df:

     quantity#1    unit price#1    line amount#1    line amount#2    line amount#3    line amount#4    BTW
--  ------------  --------------  ---------------  ---------------  ---------------  ---------------  -----
 0           nan           nan                  5              nan              nan              nan   1.05
 2             1          1150.5               10               20               30              nan   6.6
 6             1          2458               2458              nan              nan              nan   0
13             1          1689                 10               20               30              nan   5.4
17             1           260                260               30              100               75  73.05

从这个 DF 中,我想从特定的线路税率中提取税率。税率可以是 0.09、0.21 和 0.00,并且等于 BTW 子集。我尝试了以下方法:

x = [0.09, 0.21, 0.00]

for i,row in df.iterrows():
    if row['Document Type'] == 0:
        df['line amount'[i]] * x == df['BTW']

但是这不起作用..

期望的输出:

     quantity#1    unit price#1    line amount#1    line amount#2    line amount#3    line amount#4    BTW 
--  ------------  --------------  ---------------  ---------------  ---------------  ---------------  -----
 0           nan           nan                  5              nan              nan              nan   1.05
 2             1          1150.5               10               20               30              nan   6.6
 6             1          2458               2458              nan              nan              nan   0
13             1          1689                 10               20               30              nan   5.4
17             1           260                260               30              100               75  73.05

tax rate line amount #1 
0.21

对于每一行金额,税率等于 BTW 列

请帮忙

标签: pythonpandas

解决方案


重写这一行

df['line amount'[i]] * x == df['BTW']

df['line amount'[i]] = df['BTW'] * x

推荐阅读