gpt4 book ai didi

pandas - 我们应该使用 pandas.compat.StringIO 还是 Python 2/3 StringIO?

转载 作者:行者123 更新时间:2023-12-04 11:42:12 39 4
gpt4 key购买 nike

StringIO 是我们在从文本中读取 Pandas 数据帧时使用的类似文件的字符串缓冲区对象,例如"How to create a Pandas DataFrame from a string?"

我们应该将这两个导入中的哪一个用于 StringIO(在 Pandas 中)? 这是一个长期存在的问题,四年来从未得到解决。

  • StringIO.StringIO (Python 2)/io.StringIO (Python 3)
  • 优点:对于面向 future 的代码更稳定,但迫使我们进行版本 fork ,例如请参阅 EmilH 底部的代码。
  • pandas.compat.StringIO
  • pandas.compat is a 2/3 compatibility package ("without the need for 2to3") introduced back in 0.13.0 (Jan 2014)
  • pandas.compat package is still marked 'private' as of 0.22 and no plans to make 'public' 说“警告 pandas.core、pandas.compat 和 pandas.util 顶级模块被认为是私有(private)的。无法保证这些模块中功能的稳定性。”尽管它们从 0.13
  • 开始基本上就没有坏过
  • pandas.compat source 定义
    导入 builtins, StringIO/cStringIO, BytesIO, cPickle, httplib 、范围、过滤器、映射和 zip 的迭代器版本,以及 Python 3 兼容性的其他必要元素 - 请参阅 0.13.0 whatsnew

  • 用于从标准(来自 EmilH)导入的版本 2/3 fork 代码:
    import sys
    if sys.version_info[0] < 3:
    from StringIO import StringIO
    else:
    from io import StringIO

    # Note: but this is very much a poor-man's version of pandas.compat, which contains much much more

    笔记:
  • pandas.compat 自 pandas 0.13.0(2014 年 1 月)以来一直存在,作为 pandas
  • 中的一个子包
  • 它也是 seems to have been released as a standalone package: 0.1.0 (Jun 10, 2017) and 0.1.1 (Jun 10, 2017)
  • 最佳答案

    我知道这是一个老问题,但我在这里关注了面包屑,所以也许仍然值得回答。这不是完全确定的,但当前的 Pandas 文档建议使用内置 StringIO而不是它自己的内部方法。

    For examples that use the StringIO class, make sure you import it with from io import StringIO for Python 3.

    关于pandas - 我们应该使用 pandas.compat.StringIO 还是 Python 2/3 StringIO?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50283292/

    39 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com