【问题标题】:Julia Dataframes vs Python pandasJulia Dataframes 与 Python 熊猫
【发布时间】:2015-05-21 04:02:48
【问题描述】:

我目前正在使用 python pandas 并想知道是否有办法将 pandas 中的数据输出到 julia Dataframes 中,反之亦然。 (我想你可以用Pycall从Julia调用python,但我不确定它是否适用于数据帧)有没有办法从python调用Julia并让它接收pandas数据帧? (不保存为另一种文件格式,如 csv)

除了非常大的数据集和运行具有许多循环的事物(如神经网络)之外,什么时候使用 Julia Dataframes 比 Pandas 更有利?

【问题讨论】:

    标签: python pandas dataframe julia


    【解决方案1】:

    所以有一个为此开发的库

    PyJulia 是一个库,用于使用 Python 2 和 3 与 Julia 交互

    https://github.com/JuliaLang/pyjulia

    这是实验性的,但有些工作

    其次,Julia 还有一个pandas 的前端,即pandas.jl

    https://github.com/malmaud/Pandas.jl

    它看起来只是 pandas 的包装器,但您也许可以使用 julia 的并行功能执行多个功能。

    至于到目前为止哪个更好pandas 根据这个reading csv in Julia is slow compared to Python 具有更快的I/O

    【讨论】:

    • 请注意这是 2014 年的答案,与此同时,Julia 世界发生了很多变化,例如CSV 变得更快了
    【解决方案2】:

    我是这类事情的新手,但最近肯定一直在使用这两种方法。说实话,它们看起来非常具有可比性,但是与 Pandas 相关的文档、堆栈溢出问题等要多得多,所以我会给它一点优势。但是不要让这个事实让你灰心,因为 Julia 有一些我才刚刚开始理解的惊人功能。对于大型数据集,比如几场演出,这两个包都非常慢,但 Pandas 似乎又略有优势(我绝不会认为我的基准测试是确定的)。如果对您要实现的目标没有更细致的了解,我很难想象在使用 Julia DataFrame 时甚至想要调用 Pandas 函数的情况,反之亦然。除非您正在做一些非常理智的事情或使用非常大的数据集,否则我认为两者都不会出错。当您说“输出数据”时,您是什么意思?您不能将 Pandas 数据对象写入文件,然后在 Julia DataFrame 中打开/操作该文件(正如您所提到的)吗?同样,除非你有一台非常好的机器将数据读取到 pandas 或 Julia DataFrame 中,否则会很乏味,而且速度可能会慢得令人望而却步。

    【讨论】:

    • 我问的原因是python在速度方面的限制因素是循环。除非您使用 Cython 进行编程,否则需要 for 循环的自定义函数会减慢您的脚本速度。 Pandas 仅略有优势,因为 Wes 非常擅长编写加载 CSV 的代码,而 julia 刚刚开始使用 Dataframes 库。
    • 当我说“输出数据”时,我的意思是如果你调用 julia 来执行一个函数,你可以得到一个答案。就像你用 Pycall 调用 matplotlib 一样,你会以 julia 理解的格式返回一些东西。基本上我正在寻找像Pycall 这样的库,但对于Python,类似于用于C# 的Ironpython、用于C 的Cython 和用于Java 的Jython
    • 再次出于某种原因(可能是我自己的迟钝),我仍然无法解析您要做什么。您可以从 Julia 调用 python,而且,您绝对可以用 C 编写代码/函数并直接在 Julia 中调用它。它又快又容易。我只用非常简单的东西完成了这项工作,尽管从概念上讲,我认为无论代码的性质如何,它都会以相同的方式工作。
    • 我正在尝试从 python 调用 Julia。因此,如果我在 julia 中创建一个函数,我可以调用它并希望 python 接受输出数据类型。
    • PyPy是Python的新实现,比普通Python快很多,但不知道pandas是否可以和PyPy一起使用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-30
    • 1970-01-01
    相关资源
    最近更新 更多