4

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

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

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

4

2 回答 2

4

您可以DataTable在 .NET 中使用。它将允许您定义一组类型化的列(参见Columns属性)以及添加行数(参见Rows属性)。

一旦你有了它,你可以通过以下方式轻松访问任何行:

但是,请考虑以下事项:List<T>匿名类型(来自 LINQ 中的查询的投影)或强类型可能同样好,如果不是更好(不需要字符串来获取列),具体取决于您的需要(如果您需要动态访问由用户输入决定,然后使用 aDataTable会更好)。

如果你只是想要一个值的交叉矩阵,匿名类型是一种获得强类型、编译时检查的值列表的简单方法,它比动态查找值有更多的好处。

于 2012-11-27T18:59:07.967 回答
2

蓝山资本的开源项目Deedle可能值得一看:

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

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

然而,近几个月来,开发工作有点平静。

于 2016-11-29T01:26:20.163 回答