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

在Python的Numpy与Pandas中基于贷款表字段创建布尔值新表

实现方法

最简洁的方式是用Pandas的get_dummies函数,它专门用来生成类别特征的独热编码(即你需要的1/0标记),步骤如下:

1. 准备原始数据

先还原你提供的贷款表:

import pandas as pd

data = {
    '# LOAN': ['Loan 1', 'Loan 2', 'Loan 3', 'Loan 4', 'Loan 5', 'Loan 6'],
    'SECTOR': ['food', 'telecom', 'auto', 'food', 'telecom', 'auto'],
    'COUNTRY': ['germany', 'italy', 'japan', 'japan', 'germany', 'italy']
}
df = pd.DataFrame(data)

2. 生成独热编码并合并表格

直接对SECTOR和COUNTRY列应用get_dummies,再和原表的贷款编号列合并,最后清理列名前缀:

# 生成行业和国家的独热编码
dummies = pd.get_dummies(df[['SECTOR', 'COUNTRY']])

# 合并贷款编号列与独热编码列
result = pd.concat([df['# LOAN'], dummies], axis=1)

# 移除列名前缀,匹配目标表格格式
result.columns = ['# LOAN'] + [col.split('_')[1] for col in dummies.columns]

print(result)

运行结果

执行代码后会直接输出你需要的目标表格:

# LOANfoodtelecomautogermanyitalyjapan
Loan 1100100
Loan 2010010
Loan 3001001
Loan 4100001
Loan 5010100
Loan 6001010

为什么不用pivot_table?

pivot_table虽然也能实现,但需要额外设置aggfunc='size'并填充空值为0,步骤比get_dummies繁琐。get_dummies是Pandas专为类别特征转独热编码设计的工具,完全匹配你的需求,代码更简洁高效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 15:27:32