鉴于我具有以下MultiIndex Dataframe
date_a date_b
index_a index_b
1 Foo 1/2/2018 1/1/2018
Bar 1/3/2018 12/20/2017
2 Foo 2/4/2018 3/6/2018
Bar 2/2/2017 1/2/2017
如何生成一个序列,该序列从Foo获取date_a与从以index_a索引的Bar获取date_b的差
index_a difference_of_a_and_b
1 1:00:00
2 2:00:00
我找到了一种通过每个索引执行此操作的方法:
df.loc[1,'Foo']['date_a'] - df.loc[1,'Bar']['date_b']
现在,如何处理所有index_a
答案 0 :(得分:1)
使用DataFrame.xs
来切片电平并减去:
(pd.to_datetime(df.xs('Foo', level=1)['date_a'])
- pd.to_datetime(df.xs('Bar', level=1)['date_b']))
index_a
1 13 days
2 398 days
dtype: timedelta64[ns]