Глубокая копия фреймов данных и словарей PandasPython

Программы на Python
Ответить
Anonymous
 Глубокая копия фреймов данных и словарей Pandas

Сообщение Anonymous »

Я создаю небольшой фрейм данных Pandas:

Код: Выделить всё

df = pd.DataFrame(data={'colA': [["a", "b", "c"]]})
Я делаю глубокую копию этого df. Я использую не метод Pandas, а общий Python, верно?

Код: Выделить всё

import copy
df_copy = copy.deepcopy(df)
Df_copy.head() дает следующее:

Изображение


Затем я помещаю эти значения в словарь:

Код: Выделить всё

mydict = df_copy.to_dict()
Этот словарь выглядит так:

Изображение


Наконец, я удаляю один пункт из списка:

Код: Выделить всё

mydict['colA'][0].remove("b")
Я удивлен, что значения в df_copy обновляются. Я очень смущен тем, что значения в исходном фрейме данных тоже обновляются! Оба фрейма данных теперь выглядят так:

Изображение


Я понимаю, что Pandas на самом деле не выполняет глубокое копирование, но это был не метод Pandas. Мои вопросы:

1) как я могу создать словарь из фрейма данных, который не обновляет фрейм данных?

2) как я могу получить копию кадра данных, которая была бы полностью независимой?

спасибо за вашу помощь!

С уважением,
Николас

Подробнее здесь: https://stackoverflow.com/questions/596 ... ctionaries
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»