为什么 pandas 重新赋值时会出现 weakref?

3
我想要删除行索引 isin 列表 ["A", "C"] 中的项。
示例:
import pandas as pd
df_test = pd.DataFrame({"Col": [1,2,3,4]}, index=["A", "B", "C", "D"])
   Col 
A   1 
B   2 
C   3 
D   4

现在我进行重新分配:

df_test = df_test[~df_test.index.isin(["A", "C"])]

我试图理解以下结果。

df_test._is_copy
(* <weakref at 0x11d14a4a8; to 'DataFrame' at 0x11d0dbac8> *)
  1. 我为什么会得到 weakref 副本?

  2. 删除索引在给定列表中的行的正确方法是什么?我应该在左侧使用 .loc[:,:] 还是在右侧使用 .copy()

1个回答

0
我相信 .drop 是首选的方法(且不会生成复制错误)。但我不确定原因。
df_test = df_test.drop(['A', 'C'])

enter image description here


请将您的答案翻译成实际代码,并避免发布图片。 - buhtz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接