Pandas 3.0引入默认字符串数据类型和写时复制语义

Pandas 3.0引入默认字符串数据类型和写时复制语义

💡 原文英文,约500词,阅读约需2分钟。
📝

内容提要

pandas 3.0.0发布,更新了字符串处理、内存语义和日期时间解析,移除过时功能。新版本引入专用字符串dtype,简化缺失值管理,采用写时复制语义,改善索引操作,支持新表达式语法pd.col(),并调整日期时间处理精度。最低要求升级至Python 3.11和NumPy 1.26.0,社区讨论pandas未来及其竞争对手Polars。

🎯

关键要点

  • pandas 3.0.0发布,更新了字符串处理、内存语义和日期时间解析,移除过时功能。
  • 新版本引入专用字符串dtype,简化缺失值管理,支持仅接受字符串值。
  • 正式采用写时复制语义,改善索引和子集操作,消除视图与副本之间的模糊性。
  • 引入新表达式语法pd.col(),允许声明式的列转换,简化代码。
  • 日期时间处理精度调整,不再默认使用纳秒精度,而是根据输入推断最合适的解析精度。
  • 支持Arrow PyCapsule接口,实现与Arrow兼容系统的零拷贝数据交换。
  • 最低要求升级至Python 3.11和NumPy 1.26.0,默认时区后端转向标准库的zoneinfo。
  • 社区讨论pandas未来及其竞争对手Polars,部分用户对pandas的设计选择表示担忧。

延伸问答

pandas 3.0.0有哪些主要更新?

pandas 3.0.0更新了字符串处理、内存语义和日期时间解析,移除了过时功能,并引入了专用字符串dtype和写时复制语义。

新版本的pandas如何处理字符串数据?

新版本使用专用的字符串dtype来存储字符串数据,只接受字符串值,并简化缺失值管理。

pandas 3.0.0引入的写时复制语义有什么影响?

写时复制语义消除了视图与副本之间的模糊性,使索引和子集操作返回的行为更可预测,移除了SettingWithCopyWarning。

pandas 3.0.0的日期时间处理有什么变化?

日期时间处理不再默认使用纳秒精度,而是根据输入推断最合适的解析精度。

pandas 3.0.0对Python和NumPy的要求是什么?

pandas 3.0.0的最低要求是Python 3.11和NumPy 1.26.0。

社区对pandas 3.0.0的反应如何?

社区讨论了pandas的未来及其与竞争对手Polars的比较,部分用户对pandas的设计选择表示担忧。

➡️

继续阅读