【发布时间】:2021-11-16 00:48:37
【问题描述】:
我想选择最后一列并制作每个序列的字符级 one-hot-encode 矩阵,我使用此代码但它不起作用
data = pd.read_csv('database.csv', usecols=[4])
alphabet = ['A', 'C', 'D', 'E', 'F', 'G','H', 'I', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'V', 'W', 'Y']
charto = dict((c,i) for i,c in enumerate(alphabet))
iint = [charto[char] for char in data]
onehot2 = []
for s in iint:
lett = [0 for _ in range(len(alphabet))]
lett[s] = 1
onehot2.append(lett)
您建议为这项任务做什么? (顺便说一下,我想将此数据集用于 PyTorch 模型)
【问题讨论】:
-
不回答您的问题,但如果您想制作相同的字母列表并避免输入每个字母的痛苦,您可以随时使用:from string import ascii_uppercase 然后 [ascii_uppercase[:26]] + ["\n"]
-
@Odhian 是的,你是对的,但问题是我只需要 20 个 FASTA 字符,我不能使用全部 26 个字符
-
啊,是的,没注意到我的不好!
标签: python pandas pytorch one-hot-encoding