在for循环中对几个熊猫数据帧进行操作,并返回一个串联的数据帧

时间:2019-07-24 07:30:58

标签: python-3.x pandas

我有许多相似的数据帧,必须对其进行修改,然后将它们串联在一个数据帧中。我想知道是否有一种方法可以通过for循环来完成所有操作,而不是同时对一个数据帧进行导入和操作?

这就是我的想法

c = '/disc/data/'
files = [c+'frames_A1.csv',c+'frames_A2.csv',c+'frames_A3.csv',c+'frames_B1.csv',c+'frames_B2.csv',c+'frames_B3.csv',
        c+'frames_A1_2.csv',c+'frames_A2_2.csv',c+'frames_A3_2.csv',c+'frames_B1_2.csv',c+'frames_B2_2.csv',c+'frames_B3_2.csv',
       c+'frames_B_96.csv',c+'frames_C_96.csv',c+'frames_D_96.csv',c+'frames_E_96.csv',c+'frames_F_96.csv',c+'frames_G_96.csv']

data_tot = []
for i in files:
    df = pd.read_csv(i, sep=';', encoding='unicode_escape')
    df1 = df[['a','b','c','d']]
    df2 = df1[df1['a'].str.contains(r'\btake\b')]
    data_tot.append(df2)



我相信我不应该添加到列表中,但是我不知道该怎么做。

1 个答案:

答案 0 :(得分:0)

您可以这样做

total_df = pd.concat(data_tot, ignore_index = True).reset_index()