0

我正在寻找一个用于处理 2 或 3 或 4 维数据的 RUBY 模块(可能是 gem)。没有 UI,只有数据管理部分。它可能是阵列上的单板。我还需要排序和过滤等功能。例如,这只是一个例子:)

a = MultiDim.new(2)
a.dim_name(0) = "Costs"
a.dim_name(1) = "Years"
a.load_data....
a.filter(:years, :non_nil)
a.sort(:costs)
a.acccess(years: 1990..1999) => a hash by costs.

等等等等等等

有任何想法吗?

4

2 回答 2

1

daru是用于 ruby​​ 中数据分析的 gem。

它正在积极开发中,您可以期待在未来几周内有一些非常令人兴奋的功能。

它适用于 2 个基本数据结构VectorDataFrame.

您可以先创建一个数据框:

df = Daru::DataFrame.new({costs: [100,200,300,400], years: [2013,2014,2012,2011]})

您可以调用向量并以这种方式对其进行排序:

df.costs.sort

过滤数据:

df.keep_row_if do |row|
  row[:costs] == 100
end

这将产生一个像这样的 DataFrame:

    costs years 
0   100  2013 

对于多维数据,您可以将 DataFrame 嵌套在 DataFrame 中。

这是我的第一个答案,所以请原谅我的任何疑虑!

于 2014-11-05T03:40:50.717 回答
0

听起来您希望 Ruby 的内置Matrix类作为起点。

排序是从 Enumerable 继承的,但我会使用sort_byoversort来提高速度、简单性并取决于您的需要。sort_by在我看来,它更适合处理多维数组。

于 2012-08-24T17:03:41.423 回答