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

使用pandas按条件调整DataFrame中Indicator列取值的咨询

实现方案

直接对已生成初始Indicator列的outputdata按规则分条件修改值即可,完整可运行代码如下:

import pandas as pd   
indata2 = [[2,  'SIS X+',      9.65,    'Q'],
          [2,   'SIS X-',      5.32,    'Q'],
          [2,   'SIS Y+',      8.24,    'Q'],
          [2,   'SIS Y-',      3.27,    'Q'],
          [2,   'SIS',        3.40, 'Q'],
          [2,   'C. VIV',      0.23,    'L'],
          [2,   'SOBRE P',  0.38,   'SD'],
          [2,   'SOBRE P',  0.19,   'SD'],
          [2,   'VIEN X+',  7.36,   'W'],
          [2,   'VIEN X-',  23.09,  'W'],
          [2,   'VIEN Y+',  6.66,   'W'],
          [2,   'VIEN Y-',  2.68,   'W'],
          [4,   'SIS X+',      14.41,   'Q'],
          [4,   'SIS X-',      12.23,   'Q'],
          [4,   'SIS Y+',      10.00,   'Q'],
          [4,   'SIS Y-',      11.00,   'Q'],
          [4,   'C. VIV',      0.38,    'L'],
          [4,   'C. VIV',      0.34,    'L'],
          [4,   'C. VIV',      0.13,    'L'],
          [4,   'SOBRE P',  0.62,   'SD'],
          [4,   'VIEN X+',  29.21,  'W'],
          [4,   'VIEN X-',  8.70,   'W'],
          [4,   'VIEN Y-',  7.46,   'W'],
          [4,   'VIEN Y+',  11.62,  'W'],
          [4,   'VIEN',      9.6,   'W']] 
indata2 = pd.DataFrame(data = indata2, columns = ['KeyData', 'Text', 'AvgAbs', 'Label'])

# 生成初始Indicator列
l = indata2.Label.unique()
m = pd.DataFrame(l, columns = ['Label'])
m['Indicator'] = m.index + 1
outputdata = indata2.merge(m[['Indicator','Label']],'left')

# 调整Indicator列的核心代码
# 筛选Label为Q、W的行
mask_qw = outputdata['Label'].isin(['Q', 'W'])
# Text含X的Q/W行,Indicator加0.1
outputdata.loc[mask_qw & outputdata['Text'].str.contains('X'), 'Indicator'] += 0.1
# Text含Y的Q/W行,Indicator加0.2
outputdata.loc[mask_qw & outputdata['Text'].str.contains('Y'), 'Indicator'] += 0.2
# Text不含X/Y的Q/W行,Indicator设为0
mask_no_xy = mask_qw & ~outputdata['Text'].str.contains('X|Y')
outputdata.loc[mask_no_xy, 'Indicator'] = 0

运行后输出的outputdata与你提供的预期结果完全匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 23:15:05