Python - Конвертировать массив Numpy в JSON

Для достижения этой цели вы можете использовать функцию stream() для Java 8:

usersInSpecificProject.addAll(allUsers.stream()
        .filter(u -> u.getProjects().stream().map(Project::getId)
        .anyMatch(projId-> projId.equals(projectId)))
        .collect(Collectors.toList()));

Вот ссылка на документацию о том, как stream() работает.

0
задан fightstarr20 19 January 2019 в 19:55
поделиться

3 ответа

pandas представляет удобное решение:

import pandas as pd
import numpy as np

df=pd.DataFrame(myarray, columns=["x", "y"])
df["Section"]=df.index

df.to_json(orient="records")

это дает:

 '[{"x":148,"y":362,"Section":0},{"x":153,"y":403,"Section":1},
{"x":163,"y":443,"Section":2},{"x":172,"y":483,"Section":3},
{"x":186,"y":521,"Section":4},{"x":210,"y":553,"Section":5},
{"x":239,"y":581,"Section":6},{"x":273,"y":604,"Section":7},
{"x":314,"y":611,"Section":8},{"x":353,"y":602,"Section":9}]'

Решение немного отличается, но вы можете легко найти свой путь в чистом Python превратить его в вашу структуру.

0
ответ дан Fatih1923 19 January 2019 в 19:55
поделиться

Если ваш входной массив равен arr, я считаю, что вы хотите что-то вроде:

[{'section': i+1, 'x': x[0], 'y': x[1]} for i, x in enumerate(arr) if i in [2, 6, 9]]

[2, 6, 9] - ваши [3, 7, 10] позиции, только начиная с 0.

0
ответ дан andnik 19 January 2019 в 19:55
поделиться

Чтобы добавить ответ Андрея, я полагаю, что вы можете также распаковать массивы, чтобы сделать его немного чище:

[{'section': i+1, 'x': x, 'y': y} for i, [x, y] in enumerate(myarray) if i in [2, 6, 9]]
0
ответ дан Tomothy32 19 January 2019 в 19:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: