为了账号安全,请及时绑定邮箱和手机立即绑定

具有不同大小索引的 Pandas groupby(df.index)

具有不同大小索引的 Pandas groupby(df.index)

哆啦的时光机 2022-06-02 18:18:50
我有一个数据框数组dfs = [df0, df1, ...]。它们中的每一个都有一个date不同大小的列(一些dates 可能在一个数据框中,但不在另一个数据框中)。我想要做的是:pd.concat(dfs).groupby("date", as_index=False).sum()但是日期不再是列而是索引(dfs = [df.set_index("date") for df in dfs])。我看到你可以传递df.index到groupby( .groupby(df.index)) 但df.index可能不包括所有日期。我怎样才能做到这一点?这里的目标是调用.sum(),groupby所以我不依赖于使用groupby,也concat没有任何替代方法可以这样做。
查看完整描述

1 回答

?
三国纷争

TA贡献1804条经验 获得超7个赞

如果我能理解,也许你想要这样的东西:


df = pd.concat([dfs])

df.groupby(df.index).sum()

这是一个小例子:


tmp1 = pd.DataFrame({'date':['2019-09-01','2019-09-02','2019-09-03'],'value':[1,1,1]}).set_index('date')

tmp2 = pd.DataFrame({'date':['2019-09-01','2019-09-02','2019-09-04','2019-09-05'],'value':[2,2,2,2]}).set_index('date')

df = pd.concat([tmp1,tmp2])

df.groupby(df.index).sum()


查看完整回答
反对 回复 2022-06-02
  • 1 回答
  • 0 关注
  • 111 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信