鉴于我的知识水平(或缺乏),我很欣赏这项任务可能有点雄心勃勃,但仍然如此。
我有一个包含 16 个字符串的列表,大约 3000 个项目长,其中每个字符表示另一个数字列表。不知道我是否说清楚了;它实际上是一个 16 个氨基酸长肽的列表,其中每个氨基酸(20 个中的 1 个)可以用 5 个数字表示。
我想遍历该列表(肽),然后为每个字符(氨基酸)添加相关的 5 个数字(如果你有兴趣,Atchley 因子)到一个数组,制作一个 3 维数组,我的轴是:肽(3000)x该肽中的氨基酸(16)x因子(5)的实例。
我难以置信地超出了我的深度,所以我不确定我所拥有的是否有用,但这里是(使用 numpy):
array = np.empty(shape=(len(peptides),16,5)
for i in peptides:
for j in str(i):
(在这一点上,我在论坛上搜索了很多不同的东西,最后得到了一些类似的东西,但我敢肯定,我什至错过了我在这里的目标)
if j == 'A':
L16Afctrs = np.append([-0.59145974, -1.30209266, -0.7330651, 1.5703918, -0.14550842], axis=1)
elif j == 'C':
L16Afctrs = np.append([-1.34267179, 0.46542300, -0.8620345, -1.0200786, -0.25516894], axis=1)
...
elif j == 'Y':
L16Afctrs = np.append([0.25999617, 0.82992312, 3.0973596, -0.8380164, 1.51150958], axis=1)
就像我说的那样,我真的很挣扎,任何帮助将不胜感激。
编辑:澄清(希望)
我有一个大约 3000 个不同的 16 个字符串的列表,其中这些字符串中的每个字符表示另外 5 个数字。
我想生成一个 3 维数组或结构,由此我可以(最终)通过查看 3 维数组中的给定平面(我设想的维度是;原始字符串 x 16 个字符 x 5 个因子)。
我目前正在制作与@Winston 的帖子相关的不同字符的字典,然后尝试将其折叠成 3d 数组。
编辑2:成功!
温斯顿的修复效果很好!