【问题标题】:Pandas Dataframe or similar in C#.NETC#.NET 中的 Pandas Dataframe 或类似内容
【发布时间】:2022-03-22 01:20:25
【问题描述】:

我目前正致力于实现早期用 Python 构建的 Gurobi 线性程序模型的 C# 版本。我有许多 CSV 文件,我从中导入数据并创建 pandas 数据框,并且我从这些数据框中获取列以创建我在线性程序中使用的变量。使用数据框创建变量的python代码如下:

dataPath = "C:/Users/XYZ/Desktop/LinearProgramming/TestData"
routeData = pd.DataFrame.from_csv(os.path.join(dataPath, "DirectLink.csv"), index_col=None)
#Creating 3 Python-dictionaries from Python Multi-Dict using column names and keeping RouteID as the key
routeID, transportCost, routeType = multidict({x[0]:[x[1],x[2]] for x in routeData[['RouteID', 'TransportCost','RouteType']].values}) 

例子:如果csv结构如下:

RouteID  RouteEfficiency  TransportCost  RouteType
  1           0.8              2.00          F
  2           0.9              5.00          D
  3           0.7              6.00          R
  4           0.6              3.00          T     

这 3 个变量应该是: 路由ID:1 2 3 4

运输成本:

1:2.00
2:5.00
3:6.00
4:3.00

路线类型:

1:F
2:D
3:R
4:T

现在,我想创建执行相同任务的上述代码的 C# 版本,但我了解到 C# 不支持数据帧。我尝试寻找一些替代方案,但找不到任何东西。请帮我解决这个问题。

【问题讨论】:

  • GitHub github.com/dotnet/corefx/issues/26845 上有一个关于为 C# 添加更好的数据框支持的讨论。能有更多的声音在后面会很棒
  • DataFrame和DataTable有什么区别?不能创建一个反映 pandas DataFrame 方法的 DataTable 方法库吗?

标签: c# python .net pandas dataframe


【解决方案1】:

Deedle 是一个处理 DataFrame 的 .Net 库。

http://bluemountaincapital.github.io/Deedle/index.html

【讨论】:

    【解决方案2】:

    新来的孩子

    https://devblogs.microsoft.com/dotnet/an-introduction-to-dataframe/

    今天宣布,仍处于预览阶段,微软自己的 DataFrame :)

    【讨论】:

    【解决方案3】:

    我正在寻找 Python Pandas 库的 .NET 表示形式,并且遇到了这个 C# 端口:https://github.com/SciSharp/Pandas.NET。截至 2022 年 3 月 21 日,最后一次更新是 2 个月前。该网站有 5 位贡献者、36 位观看者和 51 个分叉。 此端口包括 Pandas DataFrames 结构和方法。

    【讨论】:

      猜你喜欢
      • 2010-11-11
      • 2018-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-01
      • 2016-08-02
      • 2013-07-20
      • 1970-01-01
      相关资源
      最近更新 更多