我有一個包含(非唯一)字符串的數(shù)組(以numpy或pandas表示)。其中一些是整數(shù),以字符串形式編寫,有些則同時包含數(shù)字和字母。我想做的就是將這些字符串映射到(某些)int或float值上,以便進一步處理它們。我的意思不是簡單的int(string,base)。我的意思是說要遍歷所有字符串,然后說“ Aha,讓我們將這樣的字符串和類似的'int / float-key'分配給該字符串”的過程。最有效的方法是什么?
2 回答

守著一只汪
TA貢獻1872條經驗 獲得超4個贊
聽起來您有一個帶有各種字符串的pandas DataFrame,您希望將其轉換為索引值,以便每個唯一的字符串都有一個唯一的整數(shù)值。
numpy.unique做你所需要的。(您已經提到您使用的是numpy,所以我將發(fā)布一個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
提交
取消