python - Python np.stack 中的所有输入数组必须具有相同的形状
问题描述
我有一个核苷酸序列,我正在尝试将它们转换为一个数组。以下代码适用于具有 999 个序列的文件,并且不适用于比这些序列更小或更大的文件。
示例代码如下
from sklearn.preprocessing import LabelEncoder, OneHotEncoder
integer_encoder = LabelEncoder()
one_hot_encoder = OneHotEncoder(categories='auto')
input_features = []
for sequence in sequences:
integer_encoded = integer_encoder.fit_transform(list(sequence))
integer_encoded = np.array(integer_encoded).reshape(-1, 1)
one_hot_encoded = one_hot_encoder.fit_transform(integer_encoded)
input_features.append(one_hot_encoded.toarray())
np.set_printoptions(threshold=40)
input_features = np.stack(input_features, axis = -1)
ValueError: all input arrays must have the same shape
预期输出为
DNA sequence 1#
AAGCGGGGGT.....GTGGTGTATA
one hot encoding of Sequence #1:
[[1.1.0.....1.0.1]
[0.0.0....0.0]]
解决方案
推荐阅读
- vba - 清除与多个Excel工作表中的列对应的值
- javascript - 将缺失的数字插入数组
- node.js - Angular 6 many Can't resolve errors (crypto, fs, http, https, net, path, stream, tls, zlib)
- jakarta-mail - 在 Liberty 服务器中配置邮件
- html - 选择中的默认选项
- google-app-engine - 使用 gradle 部署 GAE 时出现奇怪的构建失败
- python - TensorFlow 执行特征提取(在整个数据集上)非常耗时
- android - Webview Android App 中的网站通知
- visual-studio - 为什么我在 SSRS 中制作的每一行下面都有一个框?
- tfs - TFS-2018 中不提供手动干预