Python 根据另一列中的值更改一列中的条目
我的两列有13961行,根据一列中的值,我需要更改另一列中的值 如果数据[共同借款人名称]已标记为“不可用”,则我的其他列数据[共同借款人状态]应标记为“不可用” 如果数据[共同借款人名称]不等于“不可用”,并且如果任何其他值显示数据,[共同借款人状态]应标记为“可用” 我已经做了for循环和if条件,并对相同的循环进行了迭代。但执行起来需要15分钟以上。还有其他简单的方法吗Python 根据另一列中的值更改一列中的条目,python,pandas,Python,Pandas,我的两列有13961行,根据一列中的值,我需要更改另一列中的值 如果数据[共同借款人名称]已标记为“不可用”,则我的其他列数据[共同借款人状态]应标记为“不可用” 如果数据[共同借款人名称]不等于“不可用”,并且如果任何其他值显示数据,[共同借款人状态]应标记为“可用” 我已经做了for循环和if条件,并对相同的循环进行了迭代。但执行起来需要15分钟以上。还有其他简单的方法吗 for i in range(0,13961): if data['CO BORROWER NAME'][i]
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
请试一试
import numpy as np
data['CO BORROWER_STATUS'] = np.select([data['a'] == 'NOT_AVAILABLE'],['NOT_AVAILABLE'], ['AVAILABLE'])
为什么建议使用numpy,因为他想要一个具有PandasperPerformance的解决方案,这可能是最佳实践之一。请参见此处的接受答案data.loc[数据['CO-BORROWER NAME']。eq'NOT_AVAILABLE','CO-BORROWER_STATUS']=“NOT_AVAILABLE';data.loc[数据['CO-fower NAME'].ne'NOT_AVAILABLE','CO-fower_STATUS']='AVAILABLE'仅适用于熊猫。虽然这太棒了,但效率不高,Neofytos先生,这很有效,只需几秒钟。谢谢这些答案并不完全相关,似乎是匹配的,但在运行时的基础上,我正在寻找一些有效的代码。请从“重复”中取消此标记