【发布时间】: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