Я думал, что понял, что назначение второго df работает со ссылкой / указателем. Таким образом, в приведенном ниже коде первый элемент меняется на «оба» df. Но то, что происходит с .dropna (), было для меня неожиданным. Кажется, каким-то образом этот метод создает копию. Кто-нибудь знает, как это работает и почему? Смотрите вторую часть кода. Я ожидал, что два ДФ изменились.
df1 = pd.DataFrame([1, np.NaN, 2, 3, 5, np.NaN])
df2 = df1
df3 = df1
df2.iloc[0, 0] = 9
#Both changed
display(df1)
display(df2)
df3 = df3.dropna()
#Only df3 changed ??
display(df1)
display(df3)