Преобразование строки координат в массив X, Y np - PullRequest
0 голосов
/ 31 января 2019

Учитывая эту строку:

str="418,368 885,365 953,562 361,569"

Я хотел бы преобразовать ее в массив np.array следующим образом:

np.array ([[418,368], [885,365], [953,562], [361,569]])

Какой хороший способ сделать это в Python?

Пока я застрял здесь:

>>> str="418,368 885,365 953,562 361,569"
>>> result=[x.strip() for x in str.split(' ')]
>>> print (result)
['418,368', '885,365', '953,562', '361,569']

Мне нужно как-то преобразовать это в массив, который я хочу.Я вижу np.fromstring, но не знаю, как его подключить, и задаюсь вопросом, неверен ли этот путь.

Ответы [ 2 ]

0 голосов
/ 31 января 2019

Преобразование пробелов в запятые, а затем разделение запятыми в качестве разделителя.Затем преобразуйте в массив типа d и измените форму -

In [17]: np.array(str.replace(' ',',').split(','),dtype=int).reshape(-1,2)
Out[17]: 
array([[418, 368],
       [885, 365],
       [953, 562],
       [361, 569]])
0 голосов
/ 31 января 2019

Вы были близки:

import numpy as np

data = "418,368 885,365 953,562 361,569"
result = np.array([x.strip().split(',') for x in data.split(' ')], dtype=int)
print(result)

Отпечатки:

[[418 368]
 [885 365]
 [953 562]
 [361 569]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...