Pandas:了解生成视图与副本的规则
识别视图和副本的混乱
确定 Pandas DataFrame 中的选择结果是视图还是副本可能会令人困惑。这种混乱主要源于各种索引操作及其不同的行为。
一般规则
具体示例
为比较赋值:
<code class="python">df[df.C <= df.B] = 7654321</code>
此分配修改了原始 DataFrame df,因为索引器 .loc 用于就地设置值。
链式索引:
<code class="python">df[df.C <= df.B].loc[:, 'B':'E']</code>
不鼓励此操作,因为它可能不可靠。为了避免潜在问题,请改用以下语法:
<code class="python">df.loc[df.C <= df.B, 'B':'E']</code>
基于查询修改值
要修改 a 中的所有值满足特定查询条件的DataFrame,使用loc索引器以查询条件作为参数。例如:
<code class="python">df.loc[df.C <= df.B, 'E'] = 40</code>
此分配只会更改 df.C 小于或等于 df.B 的行的“E”列中的值。
以上是Pandas:从 DataFrame 中选择何时创建视图而不是副本?的详细内容。更多信息请关注PHP中文网其他相关文章!