如何使用 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
我有一个包含 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