通过聚合折叠多索引数据框中的行

马特乌斯·皮斯科尔斯基(Mateusz Piskorski)

我有一个看起来像这样的DataFrame:

        Date installed Date removed
ID Type                            
A  AA       2008-07-15   2008-12-29
   AA       2008-12-29   2009-10-15
   AAB      2009-10-15   2010-08-27
   AAB      2014-11-13   2015-04-28

而且我想折叠具有相同'Type'索引的行,并在'Date installed'列中具有最小日期,在'Date removed'列中具有最大日期我怎样才能做到这一点?

所需的输出:

        Date installed Date removed
ID Type                            
A  AA       2008-07-15   2009-10-15
   AAB      2009-10-15   2015-04-28

和代码:

data = {'ID':['A', 'A', 'A', 'A'], 'Type':['AA', 'AA', 'AAB', 'AAB'], 'Date installed': ['2008-07-15',
'2008-12-29', '2009-10-15', '2014-11-13'], 'Date removed': ['2008-12-29', '2009-10-15', '2010-08-27', '2015-04-28']}
df.set_index(['ID', 'Type'], inplace=True)
耶斯列尔

使用GroupBy.agg的字典骨料minmax

df[['Date installed','Date removed']] = df[['Date installed','Date removed']].apply(pd.to_datetime)

df = df.groupby(level=[0,1]).agg({'Date installed':'min', 'Date removed':'max'})
print (df)
        Date installed Date removed
ID Type                            
A  AA       2008-07-15   2009-10-15
   AAB      2009-10-15   2015-04-28
   

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章