如何使用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个月。那么,我如何才能以一种"笨重"的方式改变它,记住我有73k行这样的东西?我认为它必须使用循环('For')来执行。我已经试过了,但我不能很好地结束。请帮我完成/解决这个问题。

您可以使用.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

最新更新