我有一个包含(非唯一)字符串的数组(以numpy或pandas表示)。其中一些是整数,以字符串形式编写,有些则同时包含数字和字母。我想做的就是将这些字符串映射到(某些)int或float值上,以便进一步处理它们。我的意思不是简单的int(string,base)。我的意思是说要遍历所有字符串,然后说“ Aha,让我们将这样的字符串和类似的'int / float-key'分配给该字符串”的过程。最有效的方法是什么?
2 回答

守着一只汪
TA贡献1872条经验 获得超3个赞
听起来您有一个带有各种字符串的pandas DataFrame,您希望将其转换为索引值,以便每个唯一的字符串都有一个唯一的整数值。
numpy.unique做你所需要的。(您已经提到您使用的是numpy,所以我将发布一个numpy解决方案。)
例如:
import numpy as np
import pandas
df = pandas.DataFrame(dict(x=['1', 'a5', 'cde9', '1', 'cde9']))
unique_vals, df['keys'] = np.unique(df.x, return_inverse=True)
print df
添加回答
举报
0/150
提交
取消