考虑pd.DataFrame
df
df = pd.DataFrame(np.arange(16).reshape(-1, 4),
list('abcd'), list('wxyz'))
哪些操作会导致is_copy
标志?
我在下面确定了两个。我还应该包括什么?
eval_list = ["df.is_copy",
"df[:].is_copy",
"df.loc[:].is_copy",
"df.iloc[:].is_copy",
"df[['w', 'x']].is_copy",
"df[df.columns].is_copy"]
fstr = "{:<22s} -> {}".format
for e in eval_list:
print(fstr(e, bool(eval(e))))
df.is_copy -> False
df[:].is_copy -> True
df.loc[:].is_copy -> False
df.iloc[:].is_copy -> False
df[['w', 'x']].is_copy -> True
df[df.columns].is_copy -> False