我想在Python中将字符串转换为特定的int值,即" red"我想成为1,"蓝色"到2等我正在使用if-else语句。我有一个字符串数据集,其中包含我想要与数字关联的常见字符串。请帮忙。
def discretize_class(x):
if x == 'first':
return int(1)
elif x == 'second':
return int(2)
elif x == 'third':
return int(3)
elif x == 'crew':
return int(4)
答案 0 :(得分:3)
您需要使用字典。我认为这是最好的:
dictionary = {'red': 1, 'blue': 2}
print dictionary['red']
或者您刚才添加的新代码:
def discretize_class(x):
dictionary = {'first': 1, 'second': 2, 'third': 3, 'crew': 4}
return dictionary[x]
print discretize_class('second')
答案 1 :(得分:0)
假设,通过数据集,您要么意味着
首先,重要的是,您需要知道如何读取数据。
的示例使用内置enumerate
枚举所有字符串使用字符串
交换枚举使用dict-comprehension(如果你的python版本支持),或通过内置的`dict
将元组列表转换为字典with open("dataset") as fin:
mapping = {value: num for num, value in enumerate(fin)}
这将提供dictionary
,其中每个字符串ex,red
或blue
都映射到唯一编号
答案 2 :(得分:0)
你的问题有点模糊,但也许这有帮助。
common_strings = ["red","blue","darkorange"]
c = {}
a = 0
for item in common_strings:
a += 1
c[item] = a
# now you have a dict with a common string each with it's own number.