我有许多相似的数据帧,必须对其进行修改,然后将它们串联在一个数据帧中。我想知道是否有一种方法可以通过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)
我相信我不应该添加到列表中,但是我不知道该怎么做。
答案 0 :(得分:0)
您可以这样做
total_df = pd.concat(data_tot, ignore_index = True).reset_index()