Java对象类似于R data.frame

Mic*_*ael 43 java r dataframe

我真的很喜欢R中的data.frames,因为你可以在一个数据结构中存储不同类型的数据,并且你有很多不同的方法来修改数据(添加列,组合data.frames,...),这真的很容易从数据中提取子集,...

是否有可用的Java库具有相同的功能?我最感兴趣的是以类似矩阵的方式存储不同类型的数据,并能够提取数据的子集.

在Java中使用二维数组可以提供类似的结构,但是添加列并随后提取前k个记录要困难得多.

Rah*_*thy 14

我刚刚开源了Paleo的初稿,这是一个Java 8库,它提供基于类型列的数据框(包括对原始值的支持).可以通过编程方式(通过简单的构建器API)创建列,也可以从文本文件导入列.

有关更多详细信息,请参阅自述文件.

该项目从出生开始仍然潮湿 - 我对反馈/ PR,tia非常感兴趣!


L. *_*anc 13

Tablesaw(https://github.com/jtablesaw/tablesaw)是2015年开始的Java数据框架,目前正处于积极开发阶段(2018年).它的设计尽可能地扩展,而不会牺牲易用性.功能包括按行和列过滤,描述性统计,地图/缩小功能,交叉表,绘图,机器学习.Apache许可证.

在一次查询测试中,它在2毫秒内从一个20亿记录表中返回了500多条记录.

欢迎提供贡献,功能请求和反馈.


小智 11

最近我在Java中工作时也发现自己需要数据框架结构.幸运的是,在编写了一个非常基本的实现之后,我能够获得批准将其作为开源发布.你可以在这里找到我的实现:Joinery - Java的数据框架.欢迎提供贡献和功能.

  • 请务必注意,Joinery 已获得 GPL3 许可,因此可能不适用于许多用例 (2认同)

Ond*_*pek 6

不是很熟悉R,但是你应该看看Guava,特别是Table s.它们提供您想要的确切功能,但您可以扩展它们,或者它们的规范可以帮助您编写自己的Collection.

  • 我之前没有玩过Guava的表,但它们看起来与R的数据帧非常相似.特别是,它*可以提取特定行或特定列.另一方面,似乎没有一种简单的方法可以*将*给定的行或列添加到表中 (2认同)