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

如何在Pandas中无需循环,按Full code后缀生成列并填充Score值?

解决方案

实现思路

不用循环的话,直接借助Pandas的字符串拆分+透视表功能就能快速完成需求,核心是把Full code的后缀拆出来,再通过透视表重塑成目标格式。

完整代码

import pandas as pd

# 构造原始DataFrame df1
data = {
    'Full code': ['1111-ABC', '0000-ABC', 'AP00-ABC', '1234-XYZ'],
    'Semi-code': ['1111', '0000', 'AP00', '1234'],
    'Score': [1, 2, 1, 2]
}
df1 = pd.DataFrame(data)

# 从Full code中拆分出后缀(ABC/XYZ)
df1['Suffix'] = df1['Full code'].str.split('-', expand=True)[1]

# 透视生成目标DataFrame df2
df2 = df1.pivot(index='Semi-code', columns='Suffix', values='Score').reset_index()
# 移除列索引的名称,让表头格式和目标一致
df2.columns.name = None

print(df2)

运行结果

Semi-code  ABC  XYZ
0      0000  2.0  NaN
1      1111  1.0  NaN
2      1234  NaN  2.0
3      AP00  1.0  NaN

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 16:35:22