Учитывая, что у меня есть следующий многокадровый 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
Как создать серию, которая получает разницу date_a от Foo и date_b от бара, индексированного index_a
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
Используйте 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]