Python 在数据帧中,如何根据一列中的条件在另一列中写入字符串

Python 在数据帧中,如何根据一列中的条件在另一列中写入字符串,python,pandas,numpy,accounting,Python,Pandas,Numpy,Accounting,我在excel中有一个会计试算表(tb),在python中作为df加载。 df在左侧有一个索引列,从0开始。 第1列为账户名称,第2列为借方,第3列为贷方。 每一行都是一个有借方或贷方余额的账户。 tb末尾有一个“总计”行,第2列和第3列为借方和贷方的总计。借贷总额相等 我想创建一个新的“account#”列,并为每个帐户指定一个编号。这些数字应该从1到有多少帐户,最多不包括总计行。总计行中的科目#应为空 我编写了以下for循环,但它继续在totals行中分配帐号: for i in df['A

我在excel中有一个会计试算表(tb),在python中作为df加载。 df在左侧有一个索引列,从0开始。 第1列为账户名称,第2列为借方,第3列为贷方。 每一行都是一个有借方或贷方余额的账户。 tb末尾有一个“总计”行,第2列和第3列为借方和贷方的总计。借贷总额相等

我想创建一个新的“account#”列,并为每个帐户指定一个编号。这些数字应该从1到有多少帐户,最多不包括总计行。总计行中的科目#应为空

我编写了以下for循环,但它继续在totals行中分配帐号:

for i in df['Account']:
    if i == 'TOTAL':
        df['account #'] == ''
    else:
        df['account #'] = df.index + 1
我该怎么做才能使“总计”的账目为空?

我们可以这样做

import numpy as np 

df['account #']=np.where(df['Account']=='TOTAL', '' , df.index+1)