gpt4 book ai didi

python - Pandas - 将字符串更改为数字

转载 作者:太空宇宙 更新时间:2023-11-04 05:38:37 25 4
gpt4 key购买 nike

我有一个包含大量电子邮件的数据集,我想更改它:

df = pd.DataFrame( [('aatest@gmail.com', 0, 3.0), ('aatest@gmail.com', 1, 2.0), 
('aatest@gmail.com', 1 ,3.0), ('bbtest@gmail.com', 1, 1.0),
('cctest@gmail.com', 2, 5.0)])

df
0 aatest@gmail.com 0 3
1 aatest@gmail.com 1 2
2 aatest@gmail.com 1 3
3 bbtest@gmail.com 1 1
4 cctest@gmail.com 2 5

为此:

df2 = pd.DataFrame(
[(0, 0, 3.0), (0, 1, 2.0), (0,1 ,3.0), (1, 1, 1.0), (2, 2, 5.0)])

df2
0 1 2
0 0 0 3
1 0 1 2
2 0 1 3
3 1 1 1
4 2 2 5

即,将电子邮件更改为一个数字,但相同的电子邮件保持相同的数字

我该怎么做?

最佳答案

使用factorize :

df[0] = pd.factorize(df[0])[0]

print df

0 1 2
0 0 0 3
1 0 1 2
2 0 1 3
3 1 1 1
4 2 2 5

rank :

df[0] = df[0].rank(method='dense') - 1
print df

0 1 2
0 0 0 3
1 0 1 2
2 0 1 3
3 1 1 1
4 2 2 5

关于python - Pandas - 将字符串更改为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34815104/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com