猿问

python字符串以有效方式进行int / float

我有一个包含(非唯一)字符串的数组(以numpy或pandas表示)。其中一些是整数,以字符串形式编写,有些则同时包含数字和字母。我想做的就是将这些字符串映射到(某些)int或float值上,以便进一步处理它们。

我的意思不是简单的int(string,base)。我的意思是说要遍历所有字符串,然后说“ Aha,让我们将这样的字符串和类似的'int / float-key'分配给该字符串”的过程。

最有效的方法是什么?


白板的微信
浏览 182回答 2
2回答

守着一只汪

听起来您有一个带有各种字符串的pandas DataFrame,您希望将其转换为索引值,以便每个唯一的字符串都有一个唯一的整数值。numpy.unique做你所需要的。(您已经提到您使用的是numpy,所以我将发布一个numpy解决方案。)例如:import numpy as npimport pandasdf = pandas.DataFrame(dict(x=['1', 'a5', 'cde9', '1', 'cde9']))unique_vals, df['keys'] = np.unique(df.x, return_inverse=True)print df
随时随地看视频慕课网APP

相关分类

Python
我要回答