Как обновить подмножество мультииндексированных панд DataFrame

Я использую MultiIndexed pandas DataFrame и хотел бы умножить подмножество DataFrame на определенное число.

Это так же, какэто но с мультииндексом.

>>> d = pd.DataFrame({'year':[2008,2008,2008,2008,2009,2009,2009,2009], 
                      'flavour':['strawberry','strawberry','banana','banana',
                      'strawberry','strawberry','banana','banana'],
                      'day':['sat','sun','sat','sun','sat','sun','sat','sun'],
                      'sales':[10,12,22,23,11,13,23,24]})

>>> d = d.set_index(['year','flavour','day'])                  

>>> d
                     sales
year flavour    day       
2008 strawberry sat     10
                sun     12
     banana     sat     22
                sun     23
2009 strawberry sat     11
                sun     13
     banana     sat     23
                sun     24

Все идет нормально. Но, скажем, я заметил, что все субботние цифры - это только половина того, что должно быть! Я хотел бы умножить всеsat продажи по 2.

Моя первая попытка была:

sat = d.xs('sat', level='day')
sat = sat * 2
d.update(sat)

но это не работает, потому что переменнаяsat потерялday уровень индекса:

>>> sat
                 sales
year flavour          
2008 strawberry     20
     banana         44
2009 strawberry     22
     banana         46

поэтому pandas не знает, как присоединить новые данные о продажах к старому фрейму данных.

У меня был быстрый удар в:

>>> sat = d.xs('sat', level='day', copy=False)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python27\lib\site-packages\pandas\core\frame.py", line 2248, in xs
    raise ValueError('Cannot retrieve view (copy=False)')
ValueError: Cannot retrieve view (copy=False)

Я понятия не имею, что означает эта ошибка, но мне кажется, что я делаю гору из мухи слона. Кто-нибудь знает правильный способ сделать это?

Спасибо заранее, Роб

Ответы на вопрос(2)

Ваш ответ на вопрос