Как я могу изменить numpy.ndarray в точечный формат с помощью фигурных скобок - Python 3.7 - PullRequest
0 голосов
/ 02 апреля 2019

Я все еще новичок в Python, но разрабатываю небольшое веб-приложение с Django, где я использую Charts.js для генерации Scatterplot. Фактический результат, который я получаю, находится в формате numpy.ndarray.

Я бы хотел преобразовать его в необходимый «формат точек», как указано в документации к Charts.js: https://www.chartjs.org/docs/latest/charts/scatter.html

Было бы замечательно, если у вас есть несколько простых идей.

Текущая структура данных:

result = 

    [[4.212000 8.954910]

 [4.467000 9.599410]

 [3.849000 9.235800]

 ...

[4.941000 7.130224]

[3.555000 4.513942]

[4.836000 4.868685]]

Желаемая структура:

new_result = 

[{x: 4.212000, y: 8.954910},

{x: 4.467000, y: 9.599410},

{x: 3.849000, y: 9.235800},

...

{x: 4.941000, y: 7.130224},

{x: 3.555000, y: 4.513942},

{x: 4.836000, y: 4.868685}]

Я знаю, что вопрос, вероятно, довольно простой, но я застрял на несколько часов в поисках решений.

Ответы [ 2 ]

0 голосов
/ 02 апреля 2019

Попробуйте что-то вроде:

def convert_array(arr):
    return [{'x':item[0],'y':item[1]} for item in arr]

использовать как:

converted_array = convert_array(numpy_array)
0 голосов
/ 02 апреля 2019

Вы можете использовать список понимания :

new_result = [{'x': el[0], 'y': el[1]} for el in result]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...