我正在从 URL 读取数据并尝试将其转换为数字以在 jupyter 上进行进一步分析。它是一个基因序列,其中每个基因编码 4 个二进制数字。A --> 0001、C --> 0010、G --> 0100 和 T --> 1000。例如,我想从 CGGT 转到 0010010001001000。到目前为止,我已经能够删除空白并将其转换为字符串。但是我无法从字符串到字符以及字符到数字。我正在使用 numpy 数组,并进行了这些尝试,但没有成功。
charGenes = [var for var in genes if var]
Run Code Online (Sandbox Code Playgroud)
和
charGenes = np.char.array(genes)
Run Code Online (Sandbox Code Playgroud)
这是其余的代码:
import pandas as pd
import numpy as np
url = "https://archive.ics.uci.edu/ml/machine-learning-databases/molecular- biology/splice-junction-gene-sequences/splice.data"
file = pd.read_csv(url, delimiter=',', header=None,dtype='str')
X = file[2]
y = file[0]
myGenes = np.array(X)
stringGenes = myGenes.astype(str)
spaceGenes = stringGenes.reshape( stringGenes.size, 1)
genes = np.char.strip(spaceGenes)
genes
Run Code Online (Sandbox Code Playgroud)
这是输出:
array([['CCAGCTGCATCACAGGAGGCCAGCGAGCAGGTCTGTTCCAAGGGCCTTCGAGCCAGTCTG'],
['AGACCCGCCGGGAGGCGGAGGACCTGCAGGGTGAGCCCCACCGCCCCTCCGTGCCCCCGC'],
['GAGGTGAAGGACGTCCTTCCCCAGGAGCCGGTGAGAAGCGCAGTCGGGGGCACGGGGATG'],
...,
['TCTCGGGGGCGGCCGGCGCGGCGGGGAGCGGTCCCCGGCCGCGGCCCCGACGTGTGTGTC'], …Run Code Online (Sandbox Code Playgroud)