python - 如何在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]))```
解决方案
推荐阅读
- c# - 每次执行启动倒计时时,冷却计时器的速度都会加倍
- python - 如何用与元素相同的矩阵初始化块矩阵?
- python - 使用 selenium bs4 和 python 从网站中提取链接
- python - 如何在 Python 中按长度拆分输入
- vue.js - VueJS 中的条件 @click for
- python - Pyzbar 不适用于 Ubuntu
- python - 如何获得数据集中所有年份的最小值和月份?(熊猫)
- javascript - 在循环中使用 .add() 循环时收到未捕获的类型错误
- html - div 在另一个 div 上方的固定或粘性位置
- python - 如何从 html 中抓取图像 url?