首页 > 解决方案 > 如何在Python中沿列堆叠不同维度的指标

问题描述

我正在创建一个不同长度的热编码 RNA 序列。不同序列生成的矩阵维度不同,但是我想将这些不同维度的矩阵沿列堆叠,np.vstack() 函数不支持。有没有办法解决这个问题?我不想填充短序列,因为序列长度变化很大。

这是我使用的代码:

import numpy as np

seq = []

with open('rna.fa', 'r') as f:
    for line in f:
        if line[0] == '>':
            tokens = line[1:].split()
            sequence = tokens[-1].strip().upper()
            seq.append(sequence)
        else:
            pass

f.close()

def one_hot_encode(seq):
    mapping = dict(zip("ACGTN", range(5)))    
    seq2 = [mapping[i] for i in sequence]
    return np.eye(5)[seq2]

for i in range(1,5110):
    xi = one_hot_encode(seq[i])
    X = np.vstack((x,seq[i]))```

标签: pythondeep-learning

解决方案


推荐阅读