Работа со списком панд данныхФреймы - PullRequest
0 голосов
/ 29 апреля 2018

Я заметил что-то странное в поведении моего кода при использовании панд данных в фреймах и списках. Я не знаю, коррелированы ли они или проблема возникает из-за моего понимания. Буду признателен, если кто-нибудь сможет объяснить причину. Мой код похож на следующий пример:

list_of_df=[]
for i in range(0,5):
    df=a_function(data)
    list_of_df.append(df)

a_function принимает начальный dataFrame с именем «data», изменяет его и возвращает. Это глупый пример, но в основном он показывает операции, которые я делаю:

def a_function(data):
    data[new_column]=1
    data.loc[:,existing_column]=0
    return data

Я ожидаю, что в итоге list_of_df будет списком различных фреймов данных, однако в итоге все фреймы данных будут одинаковыми и равными тому, который был добавлен последним.

Когда я использовал следующий обходной путь, код работает должным образом:

list_of_df=[]
for i in range(0,5):
    df=data.copy()
    df=a_function(df)
    list_of_df.append(df)

Но я не уверен почему. Спасибо за вашу помощь!

edit: больше информации о том, что a_function делает с фреймом данных

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...