python - Python Pandas 中的引擎 read_csv
问题描述
在 python 中 pandas 方法的文档中,pd.read_csv()
在描述“sep”参数时,提到了 C 引擎和 Python 引擎等引擎。
文档链接为: https ://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html
这些引擎是什么?每个引擎的作用是什么?有什么类比可以帮助更好地理解这些引擎吗?
解决方案
文档说明了“c”(默认)和“python”引擎之间的pd.read_csv
具体区别。名称表示编写解析器的语言。具体来说,文档指出:
pandas 尽可能使用 C 解析器(指定为
engine='c'
),但如果指定了 C 不支持的选项,则可能会回退到 Python。
以下是您应该注意的主要区别(从 v0.23.4 开始):
- 'c' 更快,而 'python' 目前功能更完整。
- 'python' 支持
skipfooter
,而 'c' 不支持。 - 'python' 支持
sep
除单个字符(inc regex)以外的灵活方式,而 'c' 不支持。 - 'python' 支持
sep=None
withdelim_whitespace=False
,这意味着它可以自动检测分隔符,而 'c' 不支持。 - 'c' 支持
float_precision
,而 'python' 不支持(或没有必要)。
版本说明:
dtype
'python' v0.20.0+ 支持。delim_whitespace
'python' v0.18.1+ 支持。
请注意,随着功能的开发,上述内容可能会发生变化。如果您在更高版本中看到意外行为,您应该检查IO 工具(文本、CSV、HDF5,...) 。
推荐阅读
- python - 使用 Python 将自定义时间戳写入 InfluxDB
- c# - 当作为 Xml 发送到 Sql Server 时,当前日期滑回到昨天
- c - 我怎样才能使 z 变为 26?
- javascript - 比较 2 组具有不同形状的对象并根据特定属性删除重复项
- powershell - Powershell脚本等待用户输入并且不会退出
- primefaces - 将 jsf 2.0 应用程序迁移到 JSF 2.2 和 WAS9 复合组件未触发事件
- bash - bash 脚本从包含 *.jar 和 *.pom 的多个目录中删除 *.pom 文件
- allure - 对 Selenium 测试的 Allure 框架支持
- ios - 如何手动触发特定应用的分享扩展?
- flutter - 如何在颤动中播放播放列表 youtube 视频