Я написал функцию для чтения каждой строки в файле .csv для преобразования в массив.
Первые три строки моего файла
GTCAAGCATACCCCCGAGCATAGCCAGAGGCTAGTTCTACGCGGTGTAGGTGGCCGACAGCTTCGCGGCCCAAGGATGAGATCAGTAAACCCCGTTGGCAGAAATCTATGTTCATT
AGCCTGGTGCAGGTAGCGCAGCTGCTAAGGTCCCTATCGCGGTAGA
AACACTTGGTCCGACACAATTTTTTGTCTCTGCGAGTTTTGTGTGA
Код, который я написал
import re
from sklearn.preprocessing import LabelEncoder
def test(logfile):
with open(logfile) as f:
for line in f:
line = line.lower()
line = re.sub('[^acgt]', 'z', line)
my_array = np.array(list(line))
label_encoder = LabelEncoder()
label_encoder.fit(np.array(['a','c','g','t','z']))
integer_encoded = label_encoder.transform(my_array)
onehot_encoder = OneHotEncoder(sparse=False, dtype=int, n_values=5)
integer_encoded = integer_encoded.reshape(len(integer_encoded), 1)
onehot_encoded = onehot_encoder.fit_transform(integer_encoded)
onehot_encoded = np.delete(onehot_encoded, -1, 1)
return onehot_encoded
Он возвращает мне только первую строку в файле, а не все строки в файле.Не могли бы вы помочь мне вернуть массив для всех строк в строке