Повторная выборка мультииндекса DataFrame

Я хочу перепрограммировать DataFrame с помощью мультииндекса, содержащего столбец datetime и некоторый другой ключ. Dataframe выглядит так:

import pandas as pd from StringIO import StringIO csv = StringIO("""ID,NAME,DATE,VAR1 1,a,03-JAN-2013,69 1,a,04-JAN-2013,77 1,a,05-JAN-2013,75 2,b,03-JAN-2013,69 2,b,04-JAN-2013,75 2,b,05-JAN-2013,72""") df = pd.read_csv(csv, index_col=['DATE', 'ID'], parse_dates=['DATE']) df.columns.name = 'Params' 

Поскольку передискретизация разрешена только для индексов данных, я подумал о том, что отстегнуть другой столбец индекса поможет. И действительно, это так, но я не могу уложить его снова после этого.

 print df.unstack('ID').resample('W-THU') Params VAR1 ID 1 2 DATE 2013-01-03 69 69.0 2013-01-10 76 73.5 

Но тогда укладка «ID» снова приводит к ошибке индекса:

 print df.unstack('ID').resample('W-THU').stack('ID') IndexError: index 0 is out of bounds for axis 0 with size 0 

Как ни странно, я могу уложить другой уровень столбца с обоими:

 print df.unstack('ID').resample('W-THU').stack(0) 

а также

 print df.unstack('ID').resample('W-THU').stack('Params') 

Ошибка индекса также возникает, если я меняю порядок (свопинг) на оба уровня столбца. Кто-нибудь знает, как преодолеть эту проблему?

One Solution collect form web for “Повторная выборка мультииндекса DataFrame”

В этом примере выполняется нечетный столбец «NAME», который молча удаляется, но вызывает проблемы при повторной укладке. Код ниже работал для меня

 print df[['VAR1']].unstack('ID').resample('W-THU').stack('ID') Params VAR1 DATE ID 2013-01-03 A 69.0 B 69.0 2013-01-10 A 76.0 B 73.5 
  • Pandas: создать новый столбец в df со случайными целыми числами от диапазона
  • Pandas: сортировать сводную таблицу
  • Создать новый столбец в pandas на основе значения другого столбца
  • Использование условного выражения для создания нового столбца в dataframe pandas
  • Как сохранить сюжет в Seaborn с Python
  • pandas plot time series
  • Что происходит, когда вы сравниваете 2 серии панд
  • Проблемы с сводной таблицей: ошибка «Нет числовых типов для агрегирования»
  •  
    Interesting Posts for Van-Lav

    imresize в PIL / scipy.misc работает только для uint8 изображений? любые альтернативы?

    mrjob: Неверный путь действия начальной загрузки, должно быть местоположение в Amazon S3

    Импорт другого модуля из другого подкаталога родительского каталога текущего каталога (python)

    Как визуализировать скалярные 2D-данные с помощью Matplotlib?

    Словарь с массивом различных типов как значение в Python

    несколько потоков QWebView в PyQt4

    Подстановка параметров для предложения SQLite "IN"

    как получить уведомление об оплате с помощью django-paypal

    Механизм приложения Google, максимальное количество статических файлов?

    Общие отношения / общие внешние ключи в администраторе Django

    Django: ValueError: текущий предел превышает максимальный предел

    python elasticsearch отображает набор клиентов во время создания индекса

    Интернационализация с помощью python gae, babel и i18n. Не удается вывести правильную строку

    Как подписать и проверить подпись с ecdsa в python

    Python – Загрузка Zip-кодов в DataFrame как строки?

    Python - лучший язык программирования в мире.