数据结构类似于R中的data.frames

时间:2012-11-27 18:15:19

标签: c# data-structures datatable

我想在C#中拥有一个灵活的数据结构,它可以像R和Python中的数据帧一样工作(或者像excel表一样)。

我能找到的最接近的是C#中的本机数据表。

是否有更好的表结构可以保存不同列中不同类型的数据?

2 个答案:

答案 0 :(得分:4)

您可以在.NET中使用DataTable。它允许您定义一组类型化列(请参阅Columns property)以及添加多行(请参阅Rows property)。

完成后,您可以通过以下方式轻松访问任何行:

但是,请考虑以下内容:List<T> anonymous types(来自LINQ中查询的投影)或强类型可能同样好,如果不是更好(不需要字符串获取)列)根据您的需要(如果您需要动态访问权限取决于用户输入,那么使用DataTable会更好)。

如果您只是想要一个交叉矩阵值,那么匿名类型是获取强类型,编译时检查的值列表的简单方法,与动态查找值相比,它具有更多优势。

答案 1 :(得分:2)

Deedle,蓝山资本的一个开源项目可能值得关注:

  

易于使用的.NET库,用于数据和时间序列操作   科学编程

它是在F#中实现的,但它们也致力于使它可以从C#访问。

然而,近几个月的发展努力有点平静。