将包含字母和数字的字符串转换为int

时间:2018-07-16 22:06:07

标签: python pandas numpy

我正在做数据分析的一部分,但是从MongoDB导出项目的ID,所以id是objectid,并且id的值包括字母和数字:

'5affb8f318ec0f0024abe3a1'
'59f70ac42706222d006f28cf'
..................

但是我需要将它们转换为float或int类型。有什么方法可以轻松实现吗?

例如:

'5affb8f318ec0f0024abe3a1' -> 0
'59f70ac42706222d006f28cf' -> 1
.........................  -> 2

1 个答案:

答案 0 :(得分:1)

您可以使用pandashttps://pandas.pydata.org/pandas-docs/stable/generated/pandas.factorize.html

id = pd.factorize('5affb8f318ec0f0024abe3a1')[0]

我想你也可以列出一个清单。

list_of_item = ['5affb8f318ec0f0024abe3a1', '59f70ac42706222d006f28cf']
id = list_of_item.index('5affb8f318ec0f0024abe3a1')
print(id)

>> 0