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

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

我想创建一个新的“帐户编号”列,并为每个帐户指定一个数字。这些数字应从1到有多少个帐户,直至(不包括)总计行。总计行中的帐户编号应为空白。

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

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) 
点赞
评论