Julia 数据框 vs Python pandas

16 投票
2 回答
10134 浏览
提问于 2025-04-18 04:27

我现在在用Python的pandas库,想知道有没有办法把pandas里的数据输出到Julia的Dataframes中,反过来也可以。听说可以用Pycall在Julia里调用Python,但我不确定它能否处理数据框。有没有办法在Python里调用Julia,并让它接收pandas的数据框?(不想把数据保存成其他文件格式,比如csv)

除了处理非常大的数据集和运行很多循环的情况(比如神经网络),使用Julia的Dataframes有什么好处吗?

2 个回答

1

我对这方面还是个新手,不过最近确实在用这两种工具。老实说,它们看起来很相似,但关于Pandas的资料、Stack Overflow上的问题等等要多得多,所以我觉得Pandas稍微好一点。不过,这并不意味着你应该因此而气馁,因为Julia也有一些很棒的功能,我才刚开始理解这些功能。对于大数据集,比如超过几GB的文件,这两种工具都比较慢,但Pandas似乎稍微快一点(不过我并不认为我的测试结果是绝对的)。如果你对自己想要实现的目标没有更深入的理解,我很难想象在使用Julia的DataFrame时你会想调用Pandas的函数,反之亦然。除非你在做一些复杂的事情或者处理非常大的数据集,否则我觉得用这两种工具都不会出太大的问题。当你说“输出数据”时,你具体指的是什么?难道你不能把Pandas的数据对象写入一个文件,然后在Julia的DataFrame中打开/处理那个文件吗?再说了,除非你的电脑性能非常好,否则读取几GB的数据到Pandas或Julia的DataFrame中都是很麻烦的,而且速度可能会非常慢。

6

这里有一个专门为这个问题开发的库。

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慢

撰写回答