如何在原DataFrame中按条件替换Column A的取值?
数据修正解决方案
原始数据
| Column A | Column B |
|---|---|
| Police | 1 |
| other | 0 |
| Ambulance | 0 |
| Police | 1 |
| other | 0 |
| Ambulance | 1 |
| Police | 1 |
| other | 1 |
| Ambulance | 1 |
修正规则
检测到数据录入错误,需按以下规则修正:所有Column B取值为1的行,Column A需设为“Police”(即若Column A不为“Police”且Column B等于1,将Column A更新为“Police”)。
问题分析
你执行的命令 df.loc[(df['Column_A'] !="Police") & (df['Column_B']==1)] 仅返回符合条件的DataFrame子集,并未对原数据进行修改。
正确命令
直接在原数据集上完成值的替换,使用.loc进行赋值操作即可:
# 精准匹配修正条件(仅修改Column A非Police且Column B为1的行) df.loc[(df['Column_A'] != "Police") & (df['Column_B'] == 1), 'Column_A'] = "Police" # 更简洁的写法(完全符合规则中"所有Column B为1的行设为Police"的要求) df.loc[df['Column_B'] == 1, 'Column_A'] = "Police"
修正后目标数据
| Column A | Column B |
|---|---|
| Police | 1 |
| other | 0 |
| Ambulance | 0 |
| Police | 1 |
| other | 0 |
| Police | 1 |
| Police | 1 |
| Police | 1 |
| Police | 1 |
内容的提问来源于stack exchange,提问作者ADITYA YADAV
相关产品推荐
相关产品推荐

