Python изменяет имя фрейма данных panda

#python #pandas #dataframe

#python #панды #фрейм данных

Вопрос:

Это должно быть супер очевидно, но я не смог найти ответ в Интернете:

 df = pd.DataFrame({"A": [1, 2, 3], "B": [4, 5, 6]})
df2 = df
del df
  

Как переименовать df в df2 без создания копии и удаления оригинала?

Ответ №1:

Вы уже сделали то, что хотели.

Эта строка

 df2 = df
  

создает копию ссылки df , чтобы обе переменные указывали на один и тот же фрейм данных. Он не копирует фрейм данных. Чтобы проверить это:

 >>> df2 is df
True
  

После этого фрейм данных del df не удаляется, а удаляется переменная, указывающая на него.

Комментарии:

1. все еще нет способа переименовать переменную?

2. будет сделано, но вы быстро ответили 😉

3. Вы не можете переименовать переменную Python. Для этого нет причин. Вы просто создаете новую переменную, которая указывает на тот же фрейм данных, и удаляете старую (или ждете, пока она выйдет из области видимости, что одно и то же). Если бы вы могли переименовать переменную, которая внезапно сделала бы другой код в том же модуле, который знает о старом имени, недействительным.

4. Я понимаю. Исходя из Matlab этого, я привык много думать о переменных рабочей области и хотел бы сохранить это пространство «чистым»

5. @user140259 Иметь 2 имени, которые ссылаются на один и тот же объект, — это не то же самое, что иметь 2 имени, которые ссылаются на разные объекты. С 2 различными объектами, даже если один начинается как идентичная копия другого, эта ситуация может измениться. При использовании только одного объекта не имеет значения, какое имя вы используете для изменения этого объекта: другое имя будет отражать изменение.