【问题标题】:Perform operations over a list of dataframes对数据框列表执行操作
【发布时间】:2020-09-22 19:31:54
【问题描述】:

我用一个数据框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)

但它正在覆盖,我只得到列表中的最后一个数据帧。

【问题讨论】:

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


    【解决方案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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-06
      • 2018-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多