数据框未正确附加

时间:2019-07-10 09:31:53

标签: python dataframe

我有以下格式的文件字典:

{'filea': ['test/folder2/filea', 'test/folder3/filea', 'test/folder1/filea'],
'fileb': ['test/folder2/fileb', 'test/folder3/fileb', 'test/folder1/fileb'],
'filec': ['test/folder2/filec', 'test/folder3/filec', 'test/folder1/filec']}

并且我创建了一个for循环来遍历每个文件名,并创建一个数据框,该数据框组合了与上面字典中每个键对应的文件,但是当我运行我的循环时,在这种情况下,下一个fileb将被追加到数据框中为文件a创建。我不确定如何解决此问题,因为我花了几个小时无法解决此问题,也可能是因为我之间有一段很长的代码来了解缩进的错误所在。我的代码如下:

可以说上面的字典叫做file_list

for key,files in file_list.items():
    #dataset = pd.Dataframe()
    for i in files: #loop over the files in each key
       #do something....

    df = pd.DataFrame({'A':B,'C':D,'E':F})
    print('This dataframe has the shape:',df.shape)

    #save dataframe
    df.to_hdf('xxx.hdf'.format(key[0:-4]),mode='w', key='df')

我仍然看不到我的错误在哪里,因为当循环对fileb中的文件起作用时,它被追加到具有来自filea数据的数据帧中,而不是为fileb创建全新的数据帧。 非常感谢您提供任何帮助!

1 个答案:

答案 0 :(得分:0)

  

当我运行循环时,在这种情况下,下一个fileb被追加到为文件a创建的数据框中。

大概您只在外部B循环之前初始化DFfor一次,因此在每个循环中,从当前周期开始的第一个数据之后被附加到先前周期中的那些。要解决此问题,请在外部B循环内重置DFfor