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

如何自动将Pandas DataFrame列值映射为rowN格式?无需硬编码

Pandas批量按组替换列值为rowN格式

你可以用pd.factorize()函数高效完成这个需求,不需要硬编码,完全适配大规模数据场景:

实现逻辑

  1. pd.factorize()会自动将列中的唯一值映射为连续整数编码(从0开始),相同值对应相同编码,编码顺序严格按照值首次出现的顺序排列
  2. 将编码加1(让序号从1开始),再与"row"拼接即可得到目标格式

代码示例

先构造你的示例DataFrame:

import pandas as pd

df = pd.DataFrame({
    "列1": [1, 2, 3, 4, 5],
    "列2": ["a", "a", "b", "c", "d"]
})

执行替换操作:

# 获取列2的分组编码
codes, _ = pd.factorize(df["列2"])
# 转换为rowX格式
df["列2"] = "row" + (codes + 1).astype(str)

最终结果

处理后的数据框如下:

列1列2
1row1
2row1
3row2
4row3
5row4

这个方法全程自动化,不管列中有多少种唯一值,都能快速生成对应的rowN标签,处理效率远高于硬编码方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 17:31:57