如果循环其他行的条件为true

2024-10-06 07:54:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我应该检查“坏账”列中的状态是否为“是”,如果为真,请检查“客户名称”中的其他名称,如果客户的所有贷款都有其他贷款设置值“是”

def bad_loan(df):
    for row in df:
        status = row['bad_loan']
        name = row['name_client']
        if status == 'Yes':
            for n in df:
                name_client = df['name_client']
                if name == name_client:
                    df['bad_loan'] = 'Yes'
                else:
                    df['bad_loan'] = 'No'

bad_loan(df)

它返回TypeError:字符串索引必须是整数


Tags: namein名称clientdffor客户if
2条回答
import numpy as np
import pandas as pd

#make a list of all the names with bad loans:

names = df[df["bad_loan"]=="Yes"]["name_client"]

#set bad loan to yes if name in list

df["bad_loan"] = np.where(df["name_client"].isin(names),"Yes","No")
for row in df:

你不能以这种方式对熊猫进行迭代

像这样试试iloc

def bad_loan(df):
    for i in range(len(df)):
        row = df.iloc[i]
        status = row['bad_loan']
        name = row['name_client']
        if status == 'Yes':
            for n in df:
                name_client = df['name_client']
                if name == name_client:
                    df['bad_loan'] = 'Yes'
                else:
                    df['bad_loan'] = 'No'

bad_loan(df)

相关问题 更多 >