Python 基于字符串生成数字
我想根据数据帧中列中的字符串生成数字。我想创建数字来表示每个唯一的字符串 下面是一个例子和期望的结果Python 基于字符串生成数字,python,Python,我想根据数据帧中列中的字符串生成数字。我想创建数字来表示每个唯一的字符串 下面是一个例子和期望的结果 String Desired outcome A 1 A 1 B 2 C 3 D 4 下面的代码不起作用,因为它创建了许多列 dummies = pd.get_dummies(df['String']) 您可以使用ord()函数获取字符的ascii值,例如: ord('A') 上面的命令返回65。如果希望字符从一开始,可以使用类
String Desired outcome
A 1
A 1
B 2
C 3
D 4
下面的代码不起作用,因为它创建了许多列
dummies = pd.get_dummies(df['String'])
您可以使用ord()
函数获取字符的ascii值,例如:
ord('A')
上面的命令返回65。如果希望字符从一开始,可以使用类似ordFromOne(character)
的简单方法:
def ordFromOne(c):
return ord(c) - 64
然后你只需在你的每个角色上运行它。如果示例字符实际上是字符串,您当然可以映射函数:
map(ordFromOne, example)
我对数据帧了解不多,但您可以通过以下操作获得所需的结果:
def字符到字符编号(c):
返回订单(c)-ord('A')+1
使用sklearn的OrdinalCoder如何?您可以按照上述建议使用LabelEncoder或OrdinalCoder。