You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pandas:基于同ID其他行值为指定行单元格赋值

解决方案:基于ID分组处理bad_loan字段

实现思路&代码

核心是通过分组标记+布尔索引完成批量修改:

  1. 按ID分组,标记每个组内是否存在bad_loan=True的记录
  2. 定位同时满足「bad_loan为NaN」和「所在组存在True」的行,将其bad_loan设为True

代码示例:

import pandas as pd
import numpy as np

# 示例DataFrame
df = pd.DataFrame({
    'ID': ['123', '123', '456', '456', '789'],
    'bad_loan': [True, np.nan, np.nan, False, np.nan]
})

# 生成每组是否存在bad_loan=True的标记列
has_true = df.groupby('ID')['bad_loan'].transform('any')

# 批量修改符合条件的行
df.loc[df['bad_loan'].isna() & has_true, 'bad_loan'] = True

结果说明

处理后示例DataFrame的bad_loan列会变为:

IDbad_loan
123True
123True
456NaN
456False
789NaN
  • ID123组存在True,所以对应NaN被改为True
  • ID456组无True,NaN保持不变
  • ID789组无True,NaN保持不变

内容的提问来源于stack exchange,提问作者Jasmine N

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 11:33:15