Python Pandas中的引擎

时间:2018-10-12 07:29:42

标签: python python-3.x pandas csv

在python中的pandas中pd.read_csv()方法的文档中,当描述“ sep”参数时,提到了诸如C引擎和Python引擎之类的引擎。

文档链接为: https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html

这些引擎是什么?每个引擎的作用是什么?有什么类比可以帮助您更好地理解这些引擎吗?

1 个答案:

答案 0 :(得分:1)

pd.read_csv文档记录了“ c”(默认)引擎和“ python”引擎之间的具体区别。名称表示解析器的编写语言。具体来说,文档请注意:

  

在可能的情况下,熊猫使用C解析器(指定为engine='c'),但是   如果指定了C不支持的选项,则可能会退回到Python。

这是您应注意的主要区别(自v0.23.4起):

  • 'c'更快,而'python'目前功能更完善。
  • 'python'支持skipfooter ,而'c'不支持。
  • 'python'除单个字符(inc regex)外,还支持灵活的sep ,而'c'不支持。
  • 'python'支持sep=None的{​​{1}} ,这意味着它可以自动检测定界符,而'c'则不能。
  • 'c'支持delim_whitespace=False ,而'python'不(或不是必需)。

版本注释:

  • float_precision 在python v0.20.0 +中受支持。
  • dtype 在“ python” v0.18.1 +中受支持。

请注意,随着功能的发展,上述可能会发生变化。如果在更高版本中看到意外行为,则应检查IO Tools (Text, CSV, HDF5, …)