首页 >后端开发 >Python教程 >Pandas 什么时候创建视图而不是副本?

Pandas 什么时候创建视图而不是副本?

Susan Sarandon
Susan Sarandon原创
2024-11-04 05:02:01734浏览

When Does Pandas Create a View vs a Copy?

Pandas 视图与副本生成规则

Pandas 在决定 DataFrame 上的切片操作是否产生视图或结果时采用特定规则复制。通过了解这些规则,您可以优化数据操作并避免意外行为。

从始终生成副本的操作开始:

  1. 所有操作,除了那些专门设计用于修改的操作就地 DataFrame,创建副本。
  2. 只有某些操作支持 inplace=True 参数,该参数允许直接在原始数据中进行修改DataFrame。

接下来,让我们考虑可能会产生视图的操作:

  1. 设置值的索引器,例如 .loc、.iloc、.iat 和 .DataFrame。 at,就地操作,修改原始 DataFrame 而不创建副本。
  2. 从 DataFrame 检索数据的索引器单数据类型对象通常会创建一个视图,除非底层内存布局阻止这种优化。
  3. 相反,从多数据类型对象检索数据的索引器总是创建一个副本。

关于您的示例:

  • df.query('2
  • df.iloc[3] = 70 和 df.ix[1, 'B':'E'] = 222 更改 df 因为它们访问单 dtype 对象并就地设置值。
  • df[df.C
  • 但是,df[df.C

要根据查询修改特定值,请使用正确的 loc 语法:

通过遵守这些规则,您可以清楚地了解 Pandas 何时生成视图或副本,确保 Python 脚本中高效的数据操作。

以上是Pandas 什么时候创建视图而不是副本?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn