首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用IronPython中的deedle

使用IronPython中的deedle
EN

Stack Overflow用户
提问于 2013-12-24 04:08:55
回答 2查看 254关注 0票数 1

在IronPython中可以有效地使用Deedle吗?这样做可能看起来有点不合常理,但看起来让熊猫在IronPython上完全工作可能很困难--有一些不活跃的使用IronClad的移植项目和方法,但目前还不清楚是否有人真正成功地做到了这一点。使用像Deedle这样的纯.NET解决方案似乎是更好的方法。

EN

回答 2

Stack Overflow用户

发布于 2014-04-30 06:38:24

Deedle是一个标准的.NET库。我对IronPython的了解有些有限,但我认为它可以让你使用.NET语言--所以它也应该适用于Deedle。Deedle文档has a number of examples showing how to use it from C#,所以如果您知道如何使用IronPython中的其他.NET库,那么您应该能够将C#示例转换为IronPython。

票数 0
EN

Stack Overflow用户

发布于 2016-05-11 03:40:54

我个人的经验是,试图让CPython库(如pandas )在ironpython上工作是一条死路。虽然是there is a way to do it,但它非常不稳定和不可靠。

Deedle似乎是下一个显而易见的选择,而且它是有效的。您只需要添加对程序集的引用,并且还要注意IronPython处理泛型参数的方式。

代码语言:javascript
复制
import clr;
import random;
from System import Tuple;
import itertools;

clr.AddReferenceToFileAndPath ("C:\\temp\\testedeedle\\packages\\FSharp.Core\\lib\\net40\\FSharp.Core.dll")
clr.AddReferenceToFileAndPath ("C:\\temp\\testedeedle\\packages\\Deedle\\lib\\net40\\Deedle.dll")

from Deedle import *

因此,您可以使用现有的Api创建数据帧,例如:

代码语言:javascript
复制
myPythonList = [("ID1", 1.1, 1.2), 
                ("ID2", 1.1, 1.2),
                ("ID3", 1.1, 1.2),
                ("ID4", 1.1, 1.2)];

values = [[Tuple.Create[str,str,float](x[0], "FirstValue", x[1]), Tuple.Create(x[0], "SecondValue", x[2])] for x in myPythonList]
tupleList =list((itertools.chain(*values)))
frame = Frame.FromValues[str,str,float](tupleList);
FrameExtensions.Print(frame);
series_mult = frame.FirstValue + frame.SecondValue
print (series_mult)
frame2 = frame * 2
FrameExtensions.Print(frame2);

收益率...

代码语言:javascript
复制
       FirstValue SecondValue 
ID1 -> 1.1        1.2         
ID2 -> 1.1        1.2         
ID3 -> 1.1        1.2         
ID4 -> 1.1        1.2         

series [ ID1 => 2.3; ID2 => 2.3; ID3 => 2.3; ID4 => 2.3]
       FirstValue SecondValue 
ID1 -> 2.2        2.4         
ID2 -> 2.2        2.4         
ID3 -> 2.2        2.4         
ID4 -> 2.2        2.4   
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20750455

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档