首页 > 解决方案 > 根据另一列中的值更改一列中的条目

问题描述

我的两列有 13961 行,基于一列中的值,我需要更改另一列中的值。

  1. 如果数据[CO BORROWER NAME'] 已标记为“NOT_AVAILABLE”,我的其他列数据['CO BORROWER_STATUS'] 应标有条目“NOT_AVAILABLE”

  2. 如果 data[CO BORROWER NAME'] 不等于 'NOT_AVAILABLE' 并且如果存在任何其他值,则 data['CO BORROWER_STATUS'] 应标记为 'AVAILABLE'

我已经制作了 for 循环,以及相同的 if 条件并迭代了相同的条件。但执行需要超过 15 分钟。还有其他简单的方法吗?

for i in range(0,13961):

    if data['CO BORROWER NAME'][i] == 'NOT_AVAILABLE':

        data['CO BORROWER_STATUS'][i]='NOT_AVAILABLE'

    else:

        data['CO BORROWER_STATUS'][i]='AVAILABLE'

O/p expected:    
data['CO BORROWER_STATUS'] column should have either 'AVAILABLE'/'NOT 
AVAILABLE' based on the condition in column data['CO BORROWER NAME'] as 
mentioned earlier

标签: pythonpandas

解决方案


请试试

import numpy as np
data['CO BORROWER_STATUS'] = np.select([data['a'] == 'NOT_AVAILABLE'],['NOT_AVAILABLE'], ['AVAILABLE'])

推荐阅读