【问题标题】:SQL & Pandas Efficiency [closed]SQL 和 Pandas 效率 [关闭]
【发布时间】:2020-03-06 15:41:12
【问题描述】:

快速提问。在决定从哪里开始处理数据时,经验法则是什么?我应该在访问数据库时这样做吗?或者,只需将所有内容放入我的数据框中并从那里 .drop ?我还需要重新排列 4 个单独数据框中的列,以便在完成后将它们合并到一个数据源中。考虑到这一点,在 SQL 或 pandas 中重新排列更容易吗?我知道这是微不足道的,但我感谢任何帮助。

【问题讨论】:

  • 如果您的数据适合内存并且无论如何您都将其加载到数据帧中,那么请使用您最熟悉的工具。如果数据不适合内存,您别无选择,只能使用 Pandas。
  • 谢谢。我在 python 中做所有事情。我的意思是当我连接和提取数据时,是在 SQL 查询中更有效地操作数据还是在我的数据框中有数据之后...
  • @GordonLinoff 我已经看到 sql 在更大数据上的表现优于 pandas curious :)
  • 我认为 SQL 查询将胜过 pandas 数据操作。我会在 SQL 中尽我所能,包括连接,然后将数据加载到 pandas 中。由于您可以在 SQL 中创建临时表,因此它在数据操作方面具有相当大的能力。
  • 尽你所能限制离开数据库的数据量;通过临时网络通常是该过程中最慢的部分

标签: python sql sql-server pandas dataframe


【解决方案1】:

Pandas 是单线程的。无论您的计算能力如何,您都只能利用单核。 SQL Sever 是多线程的。 如果您正在处理大型数据集,那么在性能方面您最好在 SQL Server 端进行处理。

附: 有人尝试公开多线程 Pandas API,例如 DaskModinKoalas

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-09
    • 2012-09-03
    • 1970-01-01
    • 2015-02-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多