Сначала вам нужно выбрать библиотеку реализации для этого.
Java API для обработки JSON (JSR 353) предоставляет переносные API для анализа, генерации, преобразования и запроса JSON с использованием объектной модели и потоковой передачи API-интерфейсы.
Эталонная реализация находится здесь: https://jsonp.java.net/
Здесь вы можете найти список реализаций JSR 353:
Что такое API, который реализует JSR-353 (JSON)
И чтобы помочь вам решить ... Я тоже нашел эту статью:
http://blog.takipi.com/the-ultimate-json-library-json-simple-vs-gson-vs-jackson-vs-json/
Если вы идете на Джексона, вот хорошая статья о конверсии между JSON в / из Java с помощью Jackson: https://www.mkyong.com/java/how-to-convert-java-object- to-from-json-jackson /
Надеюсь, что это поможет!
Вдохновленный ответом Джеффа. Это самый быстрый метод на моей машине:
pd.Series(np.repeat(grp.mean().values, grp.count().values))
Текущий метод, используя transform
In [44]: grp = df["signal"].groupby(g)
In [45]: result2 = df["signal"].groupby(g).transform(np.mean)
In [47]: %timeit df["signal"].groupby(g).transform(np.mean)
1 loops, best of 3: 535 ms per loop
Использование «трансляции» результатов
In [43]: result = pd.concat([ Series([r]*len(grp.groups[i])) for i, r in enumerate(grp.mean().values) ],ignore_index=True)
In [42]: %timeit pd.concat([ Series([r]*len(grp.groups[i])) for i, r in enumerate(grp.mean().values) ],ignore_index=True)
10 loops, best of 3: 119 ms per loop
In [46]: result.equals(result2)
Out[46]: True
Я думаю, вам может потребоваться установить индекс возвращенного в эфир результат (он работает здесь, потому что его индекс по умолчанию
result = pd.concat([ Series([r]*len(grp.groups[i])) for i, r in enumerate(grp.mean().values) ],ignore_index=True)
result.index = df.index