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

如何在DataFrame中满足FD>0.7时创建带索引后缀的哑编码列

解决方案

步骤说明

  • 先筛选出所有FD > 0.7的行的索引
  • 为每个满足条件的行创建独立的哑编码列,列名按outlier1、outlier2...的规则命名
  • 每个新列仅在对应满足条件的行位置赋值为1,其余行赋值为0

代码实现

假设你的DataFrame名为df,先确保已导入pandas:

import pandas as pd

然后执行以下代码:

# 1. 筛选出FD大于0.7的行的索引
outlier_rows = df[df['FD'] > 0.7].index.tolist()

# 2. 遍历每个满足条件的行,创建对应的哑编码列
for seq_num, row_idx in enumerate(outlier_rows, start=1):
    # 定义列名
    col_name = f"outlier{seq_num}"
    # 先给新列全赋值0
    df[col_name] = 0
    # 在对应行的位置赋值1
    df.loc[row_idx, col_name] = 1

效果示例

以你提供的样本数据为例,处理后结果如下:

FD  outlier1  outlier2
0  0.5         0         0
1  0.8         1         0
2  0.9         0         1
3  0.4         0         0

对原代码的说明

你之前的代码仅生成了一列,是因为只创建了一个列表存储所有行的判断结果,而现在需要为每个满足条件的行单独生成一列,所以要遍历满足条件的行来逐个创建新列。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 13:45:22