如何使用 Python 替换数据框中的多个字符串

How to Replace Multiple String in a Data frame Using Python

我有一个包含 73k 行的数据框,下面是示例数据:

Index    Customers' Name   States
0        Alpha             Oregon
1        Alpha             Oregon
2        Bravo             Utah
3        Bravo             Utah
4        Charlie           Alabama
5        Charlie           Alabama
6        Alpha             Oregon
7        Alpha             Oregon
8        Bravo             Utah

数据具有独特的价值,但我不能删除或删除它,因为它是我研究所必需的或必须的。另一方面,我想用一些特定的伪代码更改客户的姓名,以便结果如下所示:

Index    Customers' Name   States
0        z1                Oregon
1        z1                Oregon
2        z2                Utah
3        z2                Utah
4        z3                Alabama
5        z3                Alabama
6        z1                Oregon
7        z1                Oregon
8        z2                Utah 

我还是个初学者,学习了 Python 大约 3 个月。那么,我如何以 'bulky' 的方式更改它,记住我有 73k 行这样的行?我假设它必须使用循环 ('For') 来执行。我已经尝试过了,但我不能很好地总结这一点。请帮我finish/solve这个。

您可以将 .groupby().ngroup() 一起使用:

df["Customers' Name"] = "z" + (
    df.groupby("Customers' Name").ngroup() + 1
).astype("str")

print(df)

打印:

  Customers' Name   States
0              z1   Oregon
1              z1   Oregon
2              z2     Utah
3              z2     Utah
4              z3  Alabama
5              z3  Alabama
6              z1   Oregon
7              z1   Oregon
8              z2     Utah