Я просто хотел создать два фрейма данных одинаковых размеров, которые изначально были пустыми.Я сделал это следующим образом:
import numpy as np
import pandas as pd
m = np.empty((2, 3))*np.nan
df1 = pd.DataFrame(m)
df2 = pd.DataFrame(m)
Но когда я изменил определенное значение в одном фрейме данных, это затронуло все три объекта:
df2.iloc[1, 2] = 1
print(df2)
0 1 2
0 NaN NaN NaN
1 NaN NaN 1.0
print(df1)
0 1 2
0 NaN NaN NaN
1 NaN NaN 1.0
print(m)
array([[nan, nan, nan],
[nan, nan, 1.]])
Так что, похоже, фрейм данныхпросто обертка вокруг пустого массива: копия не создается.Я нигде не видел такого поведения, документированного, и я просто хотел указать на это.Есть комментарии?