【问题标题】:Is Pandas DataFrame df.loc a view or a new DataFrame object?Pandas DataFrame df.loc 是视图还是新的 DataFrame 对象?
【发布时间】:2018-01-23 23:47:28
【问题描述】:

标题说明了这一点。在接受StackOverflow 34884536 的答案中,它说

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

...

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

(2016 年 1 月 20 日回答)

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

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    根据数据框的底层结构,它可能会返回一个副本或一个视图。为了安全起见,您应该使用 .copy()

    这里给出了行为差异的一个很好的例子: In Pandas, does .iloc method give a copy or view?

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2014-08-21
        • 1970-01-01
        • 2018-01-23
        • 2014-01-10
        • 1970-01-01
        • 2022-01-09
        • 2017-12-11
        • 2023-03-07
        • 2012-05-14
        相关资源
        最近更新 更多