Сохранить DF в цикле как глобальный DF в Python - PullRequest
0 голосов
/ 09 июля 2019

Я искал в SO для ответа на мой вопрос, и самый близкий ответ, который я получил, был этот

Я получил приведенный ниже код, и что он делает, так это зацикливает список файлов json, заменяет '' на NaN, а затем он должен выплевывать исходный DF, но с добавленными к нему значениями NaN. это работает нормально, если у меня есть только один DF, но когда у меня есть несколько DF для цикла, я не знаю, как заставить цикл сохранить текущий DF, который я повторял, и сохранить его вне цикла, если это имеет смысл? сейчас происходит то, что все операции обрабатываются с опережением, но поскольку мы все еще находимся в цикле, DF продолжают перезаписываться самим циклом.

Я ожидаю, что кодель примет NPSFeedback DF, заменит все '' на NaN, сохранит его как новый NPSFeedback DF, а затем перейдет к courses DF и запустит тот же процесс снова?

ниже код, который я создал.

list_of_df = ['NPSFeedback', 'courses','test'] 
temp = ''
for df in list_of_df:
    print(new_df)
    temp = df + '.json'
    #print(temp)
    temp = pd.read_json(temp)
    temp = temp.replace('', np.nan)
    df = temp.copy()
    del temp
df

1 Ответ

1 голос
/ 09 июля 2019

У меня похожие темы, обычно я делаю что-то вроде

list_of_df = ['NPSFeedback', 'courses','test'] 
dict_df = dict()

for filename in list_of_df :
    df = pd.read_json(filename + ".json")
    df.replace('', np.nan, inplace=True)
    dict_df[filename] = df

... и теперь я могу получить доступ ко всем фреймам данных вне цикла, я могу объединить и т. Д.

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