首页 > 解决方案 > 将循环中的 DF 保存为 Python 中的全局 DF

问题描述

我已经在 SO 中寻找我的问题的答案,我得到的最接近的答案是这个

我得到了下面的代码,它的作用是循环遍历 json 文件列表,用 NaN 替换 '' 然后它应该吐出原始 DF,但添加了 NaN 值。如果我只有一个 DF,这很好用,但是当我有多个 DF 循环时,我不知道如何使循环保存我正在迭代的当前 DF 并将其保存在循环之外,如果有意义的话?现在发生的事情是所有操作都在正确处理,但是因为我们仍然处于循环中,所以 DF 继续被循环本身覆盖。

我期待的是codel将采用NPSFeedbackDF,用NaN替换所有'',将其保存为新的NPSFeedbackDF,然后继续使用coursesDF并再次开始相同的过程?

下面是我创建的代码。

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

标签: pythonpandasdataframe

解决方案


我有类似的主题,我通常会做类似的事情

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

...现在我可以从循环外部访问所有数据帧,我可以合并等。


推荐阅读