Подтвердить что ты не робот

Java-объект аналоговый к R data.frame

Мне действительно нравятся data.frames в R, потому что вы можете хранить разные типы данных в одной структуре данных, и у вас есть много разных методов для изменения данных (добавьте столбец, объедините data.frames,...), он действительно легко извлечь подмножество из данных,...

Существует ли какая-либо библиотека Java, которая имеет одинаковую функциональность? Я в основном интересуюсь хранением различных типов данных в виде матрицы и возможностью извлекать подмножество данных.

Использование двумерного массива в Java может обеспечить аналогичную структуру, но гораздо сложнее добавить столбец, а затем извлечь верхние k-записи.

4b9b3361

Ответ 1

У меня есть только первая версия Paleo, библиотека Java 8, которая предлагает кадры данных на основе типизированных столбцов ( включая поддержку примитивных значений). Колонки могут быть созданы программно (через простой API-интерфейс Builder) или импортированы из текстового файла.

Подробнее см. README.

Проект по-прежнему влажный от рождения - меня очень интересует обратная связь /PR, tia!

Ответ 2

Я также обнаружил, что мне нужна структура фрейма данных во время работы в Java недавно. К счастью, после написания очень простой реализации я смог получить разрешение на ее выпуск в виде открытого исходного кода. Вы можете найти мою реализацию здесь: Столярные изделия - Кадры данных для Java. Приглашения на участие и функции приветствуются.

Ответ 3

Tablesaw (https://github.com/lwhite1/tablesaw) - это Java-фреймворк Java, начатый в 2015 году и находящийся в активной разработке в 2017 году. Он был разработан как можно более масштабируемый не жертвуя легкостью использования. Особенности включают фильтрацию по строкам и столбцам, описательную статистику, отображение/уменьшение функций, кросс-вкладки, графики, машинное обучение. Лицензия Apache.

В одном тесте запроса он возвратил 500+ записей из 500 000 000 записей в 2 мс.

Он также включает хранилище, ориентированное на столбцы, которое намного меньше и быстрее, чем работа с файлами CSV. Приветствуются вклады, запросы функций и обратная связь.

Ответ 4

Не очень владея R, но вы должны взглянуть на Guava, в частности Table s. Они не предоставляют точной функциональности, которую вы хотите, но вы можете либо расширить их, либо их спецификации могут помочь вам написать свою собственную коллекцию.

Ответ 5

Morpheus (http://www.zavtech.com/morpheus/docs/) предоставляет аналог DataFrame для R. Это высокопроизводительная структура хранилища столбцов, которая позволяет данные для сортировки, нарезания, группировки и агрегирования в зависимости от размера строки или столбца. Он также поддерживает параллельную обработку для многих из этих операций, используя внутреннюю структуру Fork и Join.

Вы можете легко читать и записывать данные в файлы CSV, базы данных, а также собственный формат JSON. Также доступны адаптеры для загрузки данных из Quandl, Google Finance и других.

Он построил поддержку различных стилей линейных регрессий, анализа основных компонентов, линейной алгебры и других видов поддержки аналитики. Набор функций все еще растет, но он уже очень эффективный.

Ответ 6

В R у нас есть dataframe, в Python мы имеем pandas, в Java: Существует Schema из deeplearning4j

Существует также версия для анализа данных вездесущих ирисов, если вы хотите только начать, здесь

Существуют и другие пользовательские объекты (от Weka, от Tensorflow, которые более или менее одинаковы).