Objeto Java análogo a R data.frame
dataframe (6)
Acabo de abrir una versión preliminar de Paleo , una biblioteca Java 8 que ofrece marcos de datos basados en columnas tipadas (incluido el soporte para valores primitivos). Las columnas pueden crearse mediante programación (a través de una API de compilación simple) o importarse desde un archivo de texto.
Por favor, consulte el README para más detalles.
El proyecto todavía está húmedo desde el nacimiento. Estoy muy interesado en los comentarios / relaciones públicas, ¡tia!
Me encantan los data.frames en R porque puedes almacenar diferentes tipos de datos en una estructura de datos y tienes muchos métodos diferentes para modificar los datos (agregar columna, combinar data.frames, ...), es realmente fácil para extraer un subconjunto de los datos, ...
¿Hay alguna biblioteca de Java disponible que tenga la misma funcionalidad? Principalmente estoy interesado en almacenar diferentes tipos de datos en una forma de matriz y ser capaz de extraer un subconjunto de los datos.
Usar una matriz bidimensional en Java puede proporcionar una estructura similar, pero es mucho más difícil agregar una columna y luego extraer los registros k superiores.
Morpheus ( http://www.zavtech.com/morpheus/docs/ ) proporciona un análogo de DataFrame al de R. Es una estructura de datos de almacén de columnas de alto rendimiento que permite clasificar, dividir, agrupar y agregar los datos en el dimensión de fila o columna. También admite el procesamiento paralelo para muchas de estas operaciones utilizando internamente el marco Fork & Join.
Puede leer y escribir fácilmente datos en archivos CSV, bases de datos y también en un formato JSON de propiedad. Los adaptadores para cargar datos de Quandl, Google Finance y otros también están disponibles.
Ha incorporado soporte para varios estilos de regresiones lineales, análisis de componentes principales, álgebra lineal y otros tipos de soporte analítico. El conjunto de características sigue creciendo, pero ya es un marco muy capaz.
Tablesaw ( https://github.com/jtablesaw/tablesaw ) es un dataframe de Java que comenzó en 2015 y está en desarrollo activo en 2017. Está diseñado para ser lo más escalable posible sin sacrificar la facilidad de uso. Las características incluyen filtrado por filas y columnas, estadísticas descriptivas, funciones de mapa / reducir, tablas cruzadas, gráficos, aprendizaje automático. Licencia de Apache
En una prueba de consulta, devolvió más de 500 registros de una tabla de registro de 500,000,000 en 2 ms.
También incluye una tienda orientada a columnas que es mucho más pequeña y más rápida que trabajar con archivos CSV. Contribuciones, solicitudes de características y comentarios simples son bienvenidos.
También me encontré en la necesidad de una estructura de marco de datos mientras trabajaba en Java recientemente. Afortunadamente, después de escribir una implementación muy básica, pude obtener la aprobación para lanzarlo como de código abierto. Puede encontrar mi implementación aquí: Carpintería - Marcos de datos para Java . Contribuciones y solicitudes de características son bienvenidas.