我有很多带标签的课程 - ' A'到H'。我想提取给定标签字符串的二进制向量
'Class A' -> [1, 0, 0, 0, 0, 0, 0, 0]
'Class G' -> [0, 0, 0, 0, 0, 0, 1, 0]
等。有这样做的pythonic方式吗?我可以使用一些if语句来完成它,但是只有几行代码会有更短的方法吗?
答案 0 :(得分:1)
您可以使用ord
ord
A
偏移def class_string_to_vector(class_str):
_idx = ord(class_str.strip()[-1].upper()) - ord('A')
_vec = [0] * 8
_vec[_idx] = 1
return vec
来实现此目的:
{{1}}
答案 1 :(得分:0)
class_arr = ['Class A','Class B','Class C','Class D', 'Class E', 'Class F', 'Class G','Class H']
output = [ 1 if i == class_arr.index('Class A') else 0 for i in range(0,len(class_arr)) ]