Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 18, 2019 14:00:45

KH93b
Зарегистрирован: 2019-09-18
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Строки в numpy

В переменной s хранится строка с переносами
s = “2.1, 2.3, 2,7 /r/n
2.5, 2.9, 3.1 /r/n
3.2, 3.6, 3.3”
Эту строку нужно загнать в numpy(float).
Пробовал разные методы. Там где 2.7 /r/n 2.5 - получаю ошибку, что str не может преобразоваться в float.
Решил задачу тем, что я эту строку пишу в файл, затем loadtxt и все норм. Но мне кажется что есть более простое решение, которое я не вижу… Есть? ))

Офлайн

#2 Сен. 18, 2019 15:57:52

Striver
От:
Зарегистрирован: 2006-10-26
Сообщения: 247
Репутация: +  22  -
Профиль   Отправить e-mail  

Строки в numpy

numpy.fromstring строит одномерный массив
А для двухмерного можно сделать так:

 numpy.array([numpy.fromstring(s1, sep=',') for s1 in s.split('\n')])
Или можно через виртуальный файл из модуля io



Офлайн

#3 Сен. 18, 2019 16:13:37

KH93b
Зарегистрирован: 2019-09-18
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Строки в numpy

Striver
numpy.fromstring строит одномерный массивА для двухмерного можно сделать так:
Спасибо хороший человек

Офлайн

#4 Сен. 30, 2019 12:32:40

KH93b
Зарегистрирован: 2019-09-18
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Строки в numpy

Striver
 numpy.array([numpy.fromstring(s1, sep=',') for s1 in s.split('\n')])
Данный код прекрасно работает, но появилась задачка этот массив (его строки) склеить в одну строку.
Мы сначала разбиваем строки, затем делаем сепарацию внутри строки и затем надо их у друг другу склеить. Можете подсказать? Я хотел просто сделать np.append, но не получается.

Отредактировано KH93b (Сен. 30, 2019 12:33:12)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version