Julia 数据框 vs Python pandas
我现在在用Python的pandas
库,想知道有没有办法把pandas里的数据输出到Julia的Dataframes
中,反过来也可以。听说可以用Pycall
在Julia里调用Python,但我不确定它能否处理数据框。有没有办法在Python里调用Julia,并让它接收pandas
的数据框?(不想把数据保存成其他文件格式,比如csv)
除了处理非常大的数据集和运行很多循环的情况(比如神经网络),使用Julia的Dataframes有什么好处吗?
2 个回答
我对这方面还是个新手,不过最近确实在用这两种工具。老实说,它们看起来很相似,但关于Pandas的资料、Stack Overflow上的问题等等要多得多,所以我觉得Pandas稍微好一点。不过,这并不意味着你应该因此而气馁,因为Julia也有一些很棒的功能,我才刚开始理解这些功能。对于大数据集,比如超过几GB的文件,这两种工具都比较慢,但Pandas似乎稍微快一点(不过我并不认为我的测试结果是绝对的)。如果你对自己想要实现的目标没有更深入的理解,我很难想象在使用Julia的DataFrame时你会想调用Pandas的函数,反之亦然。除非你在做一些复杂的事情或者处理非常大的数据集,否则我觉得用这两种工具都不会出太大的问题。当你说“输出数据”时,你具体指的是什么?难道你不能把Pandas的数据对象写入一个文件,然后在Julia的DataFrame中打开/处理那个文件吗?再说了,除非你的电脑性能非常好,否则读取几GB的数据到Pandas或Julia的DataFrame中都是很麻烦的,而且速度可能会非常慢。
这里有一个专门为这个问题开发的库。
PyJulia
是一个可以让你用Python(无论是2还是3)来和Julia语言交流的库。
https://github.com/JuliaLang/pyjulia
这个库还在实验阶段,但基本上是可以用的。
另外,Julia也有一个和pandas
配合使用的前端,叫做pandas.jl
。
https://github.com/malmaud/Pandas.jl
这个看起来只是对pandas的一个封装,但你可能可以利用Julia的并行功能来执行多个操作。
至于哪个更好,目前来看,pandas
在输入输出速度上更快,具体可以参考这个链接:在Julia中读取CSV文件的速度比Python慢。