Адаптированный ответ jpp:
import pandas as pd
import itertools
df = pd.DataFrame([['aaa', 1],['aaa',3], ['aaa',5], ['aaa',-3], ['aaa', 3], ['aaa',0]], columns=['A', 'B'],index=[1,2,3,4,5,6])
res = [i for j in range(1,df.index.size+1) for i in itertools.combinations(df.index,j) if df.loc[i, 'B'].sum() == 9]
print res
[(1, 2, 3), (1, 3, 5), (1, 2, 3, 6), (1, 3, 5, 6), (1, 2, 3, 4, 5), (1, 2, 3, 4, 5, 6)]