Как обойти проблему использования np.loadtxt (), если мои данные содержат строки - PullRequest
0 голосов
/ 31 декабря 2018

Я хочу использовать загрузочный текст функции из numpy, однако мои txt-данные содержат строки.Как я мог игнорировать строки и при этом поддерживать строки и столбцы моих данных?

import os
from numpy import loadtxt

filename = 'C:/Users/.../Documents/.../.../.../.../.../.../report.txt'

data = loadtxt(filename)

# That's a sample of the data I am trying to load

1 stats/cope1 2589 -3.519 -0.8423 0.02977 -0.1044 1.133 4.889 0.9278 61 29 14 7.0 -90.6 -9.4
1 stats/cope2 2589 -4.102 -1.134 -0.04528 -0.1969 1.468 8.227 1.194 61 30 15 7.0 -88.2 -6.3

Вывод:

ValueError: could not convert string to float: stats/pe1

1 Ответ

0 голосов
/ 31 декабря 2018
data = np.genfromtxt('filename', dtype='str')
data = np.delete(data, 1, 1)
data = [[float(i) for i in data[0]],[float(i) for i in data[1]]]  # type: list
data = np.asarray(data)  # type: numpy.ndarray

data.shape  # (2,10)

print(data)  
# array([[1., 1.133, 4.889, 0.9278, 61., 29. ,14., 7., -90.6 ,  -9.4],
#        [1., 1.468, 8.227, 1.194 , 61., 30., 15., 7., -88.2 ,  -6.3]])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...