使用for循环遍历列表中的数据帧

时间:2018-02-26 09:20:45

标签: python pandas dataframe append

我是pandas / python的新手。所以我正在读一个.xlsx文件,在那里我创建了一堆数据帧,16是精确的,而主数据帧是空的。现在我想使用for循环将所有这16个数据帧逐个附加到主数据帧。

我想过迭代列表的方法。但是这些df_1,df_2等是否可以存储在列表中,然后我们可以迭代它们。

让我们假设我有一个csv文件,

df1 = pd.read_csv('---.csv')
df2 = pd.read_csv('---.csv')

然后我创建一个列表,

filenames = ['---.csv','---.csv']  

创建一个空的主数据帧:

master_df= []

最后,遍历列表:

for f in filenames:
    master_df.append(pd.read_csv(f))

但这不适用,我需要类似的东西,所以我如何迭代所有的数据帧。任何解决方案都将不胜感激。

最后,这是我的master_df:

master_df = pd.DataFrame({'Variable_Name': [], 'Value':[], 'Count': []})

这是第一个数据帧:

df_1 = pd.DataFrame({
    'Variable_Name': ['Track', 'Track', 'Track', 'Track'],
    'Value': ['Track 38','Track 39', 'Track 40', 'Track 37'], 
    'Count': [161, 160, 158, 152]})

同样还有15个。

1 个答案:

答案 0 :(得分:0)

这是因为 append()返回新的数据帧,这个对象应该存储在某个地方

尝试:

for f in filenames:
    master_df = master_df.append(pd.read_csv(f))

附加功能的更多信息:https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.append.html