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

Python实现从1开始的LabelEncoder编码并保留列原始位置

解决Pandas中LabelEncoder编码从1开始并保持列位置的问题

你的需求是让team列编码值从1开始,且保持在数据框首位,只需对代码做两处简单修改:

  1. 对LabelEncoder的结果加1,将0起始的编码转为1起始;
  2. 直接替换原team列的值,无需删除后重新添加,这样列位置自然保留。

修改后的完整代码:

#Load the required libraries
import pandas as pd
import numpy as np
from sklearn.preprocessing import LabelEncoder

#Create dictionary
data = {'team': ['A', 'A', 'B', 'B', 'C'],
        'Income': [5849, 4583, 3000, 2583, 6000],
        'Coapplicant Income': [0, 1508, 0, 2358, 0],
        'LoanAmount': [123, 128, 66, 120, 141]}

#Convert dictionary to dataframe
df = pd.DataFrame(data)
print("\n原始df:\n", df)

# Initiate label encoder
le = LabelEncoder()
 
# 生成从1开始的编码
label = le.fit_transform(df['team']) + 1
 
# 打印编码结果
print("\n编码后label =", label )

# 直接替换原team列,保持列位置不变
df["team"] = label
 
# 打印处理后的Dataframe
print("\n处理后的df:\n", df)

关键修改说明:

  • 编码从1开始:le.fit_transform(df['team'])会生成0、1、2的编码,加1后变为1、2、3,满足需求;
  • 保留列位置:直接对原team列赋值,不需要执行drop和重新添加列的操作,这样team列始终在数据框的首位。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 20:35:16