三行代码  ›  专栏  ›  技术社区  ›  laszlopanaflex

组合数据帧并在通用日期索引上添加值

  •  0
  • laszlopanaflex  · 技术社区  · 1 月前

    我有许多数据帧,其中一列(名称全部相同),其索引是日期范围-我想将这些数据帧合并/组合成一个,在任何日期都是通用的情况下求和。下面是一个简化的例子

    range1 = pd.date_range('2021-10-01','2021-11-01')
    range2 = pd.date_range('2021-11-01','2021-12-01')
    
    df1 = pd.DataFrame(np.random.rand(len(range1),1), columns=['value'], index=range1)
    df2 = pd.DataFrame(np.random.rand(len(range2),1), columns=['value'], index=range2)
    

    1 回复  |  直到 1 月前
        1
  •  3
  •   scotscotmcc    1 月前

    我们可以使用 pd.concate() 在两个数据帧上,然后 df.reset_index() 要获取新的常规整数索引,请重命名日期列,然后使用 df.groupby().sum()

    df = pd.concat([df1,df2]) # this gives 63 rows by 1 column, where the column is the values and the dates are the index
    df = df.reset_index() # moves the dates to a column, now called 'index', and makes a new integer index
    df = df.rename(columns={'index':'Date'}) #renames the column
    df.groupby('Date').sum()