有没有一个函数可以把一个字符串转换成一个数字并返回给机器学习

2024-09-30 20:38:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我在一个熊猫数据帧中有很多字符串,我想给每个字符串分配一个数字给keras。你知道吗

字符串表示一个位置:

CwmyNiVcURtyAf+o/6wbAg==

我想把它变成一个数字然后再回来。我用的是keras,tensorflow和pandas。其中一个模包含这样一个函数吗?或者我必须写一个哈希表?你知道吗

像这样:

CwmyNiVcURtyAf+o/6wbAg===>;1

CwmyUSVcbBtiBQEkAN4bVbA==>;2

CwmypSVdCRNYBv4MAFUTSRY==>;3

CwnBoiVCjRNPBAAJ/ysTHw===>;4

CwnBoiVCjRNfBv5QAEITCA===>;5

CwmyUSVcbBtiBQEkAN4bVbA==>;2

我有大约8000个位置,每个位置在数据帧中是15次


Tags: 数据函数字符串gtpandastensorflow数字keras
2条回答

您应该考虑一种单热编码,这可以通过get_dummies函数轻松地使用pandas完成。这将为每个“类别”(即唯一字符串)创建二进制列。你知道吗

这是factorize

s = pd.Series(['CwmyNiVcURtyAf+o/6wbAg==', 'CwmyUSVcbBtiBQEkAN4bVbA=', 
               'CwmypSVdCRNYBv4MAFUTSRY=', 'CwnBoiVCjRNPBAAJ/ysTHw==', 
               'CwnBoiVCjRNfBv5QAEITCA==', 'CwmyUSVcbBtiBQEkAN4bVbA='])

labels, uniques = s.factorize()

输出:

# labels:
array([0, 1, 2, 3, 4, 1], dtype=int64)

并且要转换回来

uniques[2]
# 'CwmypSVdCRNYBv4MAFUTSRY='

相关问题 更多 >