繁体   English   中英

Pandas DataFrame df.loc 是视图还是新的 DataFrame 对象?

[英]Is Pandas DataFrame df.loc a view or a new DataFrame object?

标题说了算。 StackOverflow 34884536的公认答案中,它说

您可以在此处找到有关问题性质的更长讨论,但主要内容是我们现在正在转向“写入时复制”行为,在这种行为中,无论何时切片,您都会获得一个新副本,你永远不必考虑视图。

...

最好的猜测是修复将在一年内完成——同时,恐怕一些 .copy() 可能是必要的,抱歉!

(回答 2016/01/20)

df.loc[] 现在是否返回“副本”? 还是为了安全起见,我还必须使用 .copy() 吗?

它返回一个副本。 您可以通过制作副本、通过 .loc 将索引分配给另一个变量、更改变量并注意原始帧没有更改来测试这一点。

稍微相关,但这里有更多信息: http : //pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy

它可能会返回副本或视图,具体取决于数据帧的底层结构。 为了安全起见,您应该使用 .copy()

那里给出了行为差异的一个很好的例子: 在 Pandas 中,.iloc 方法是否提供副本或视图?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM