pandas 如何按条件合并同一个df中的行?

新手上路,请多包涵

clipboard.png

如图,请问图和将index也就是time中【日期】相同的行合并到一起,并且使得对应位置元素相加? 感谢。

阅读 12.1k
1 个回答
import pandas as pd
#你的df有time索引,df.reset_index(False)去掉索引即可
df = pd.DataFrame([['2018-03-11 10:00:12', 1, 5], ['2018-03-11 20:00:12', 1, 5], ['2018-03-12 20:00:12', 1, 5]], columns=['date', 'a', 'b'])

def f(r):
    r['date'] = r['date'].split(' ')[0]    # 如果是日期类型直接r['date'] = r['date'].date()
    return r

df.apply(f, axis=1).groupby('date').sum()
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题