在这个例子中,r1和r2引用的是同一个对象,但由于它们的id不同,
assert(not r1 is r2)
返回false。尽管如此,我原本希望它失败,因为r1和r2都指向同一个对象!!import pandas as pd
df = pd.DataFrame([0])
r1 = df.iloc[0]
r2 = df.iloc[0]
assert(not r1 is r2)
r1[0] = 1
assert(r1.equals(r2))
print(id(r1), id(r2))
>> 140547055257416 140547055258032
可以在numpy中的数组切片中找到为什么会发生这种情况的解释。