对数据框列表执行操作

时间:2020-06-03 22:53:03

标签: python python-3.x pandas dataframe for-loop

我用一个数据帧df1编写了一个脚本,并对其执行了许多操作。例如:

df1 = df1.rename(columns={'Unnamed: 0': ''})
df1.iloc[:,0] = re.search('\d{2}', df1.columns[3]).group(0)

但是现在我有一个数据帧列表dfs。有可能吗,如何将所有操作应用于数据框列表?

我尝试了

for df in dfs:
    df = df.rename(columns={'Unnamed: 0': ''})
    df.iloc[:,0] = re.search('\d{2}', df.columns[3]).group(0)

但是它被覆盖了,我只能从列表中得到最后一个数据帧。

1 个答案:

答案 0 :(得分:1)

在开始循环之前,请初始化一个空的df_total。在每个循环的最后,将当前的df连接到df_total,以便最后一个在每个循环中长大,从而保存以前的数据帧。代码示例:

df_total = pd.DataFrame()

for df in dfs:
    df = df.rename(columns={'Unnamed: 0': ''})
    df.iloc[:,0] = re.search('\d{2}', df.columns[3]).group(0)
    df_total = pd.concat([df_total , df], ignore_index = True)