python - 如何使用 pandas 快速将数据框中的字符串更改为整数 ID?

标签 python pandas dataframe

我有一个数据集,包括 user IDitem ID(都是字符串)和这样的评分:

A12VH45Q3H5R5I B000NWJTKW 5.0
A3J8AQWNNI3WSN B000NWJTKW 4.0
A1XOBWIL4MILVM B000NWJTKW 1.0

我想将 ID 更改为整数,例如:

1              1          5.0
2              1          4.0
3              1          1.0

我尝试了一种传统的方法,创建一个大字典并用整数标记每个字符串 ID。但这花费了非常长的时间。那么你能告诉我如何更快地完成它吗?提前致谢。

最佳答案

您可以申请 factorize :

In [244]:
df[[0,1]] = df[[0,1]].apply(lambda x: pd.factorize(x)[0] + 1)
df

Out[244]:
   0  1  2
0  1  1  5
1  2  1  4
2  3  1  1

关于python - 如何使用 pandas 快速将数据框中的字符串更改为整数 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35366924/

相关文章:

python foursquare - SSL3证书验证失败

python - Stackless Python 的缺点是什么?

python - 为什么 Q 对象返回重复的结果?

r - 如果任何剩余值为 0,则将值设置为 0

python - 如何按顺序查找和替换偶数位置元素的值

python - 将重复的句子替换为单词 "same"

python - PyCharm 无法运行程序 C :\\Anaconda\\python. exe

python - scikit-learn 中具有相同属性的跨多列的标签编码

python - 使用 pandas 将表中不同值出现的计数值作为新列添加到表中

python - 根据包含重复项的列比较数据系列列