не удалось преобразовать строку в число с плавающей точкой: 'K5' - PullRequest
0 голосов
/ 09 декабря 2018

Я пытаюсь вызвать файл, в котором есть строки, чтобы подсчитать, сколько существует строк этого типа, но когда я получаю сообщение об ошибке, строка не может быть преобразована в число с плавающей точкой.Файл очень большой, но небольшой раздел будет выглядеть как {K5, M2 K5, M0, M0, M2}.Затем я хочу посчитать, сколько из каждой соответствующей записи существует.

file = 'IMF.txt'
spec_type = np.loadtxt(file, skiprows = 1, usecols = 1)

1 Ответ

0 голосов
/ 09 декабря 2018

np.loadtxt по умолчанию ожидает числовые данные.Вы можете указать dtype='S2' для строк длиной 2:

from io import StringIO
import numpy as np

file = StringIO("""
0 K5
1 M2
3 K5
5 M0
6 M0
7 M2""")

# replace file with 'IMF.txt'
spec_type = np.loadtxt(file, skiprows=1, usecols=1, dtype='S2')

Возвращает:

print(spec_type)

array([b'K5', b'M2', b'K5', b'M0', b'M0', b'M2'], dtype='|S2')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...