को दोबारा शुरू करना मैं एक बहु-अनुक्रमणिका के साथ resample a DataFrame चाहता हूं जिसमें डेटाटाइम कॉलम और कुछ अन्य कुंजी शामिल हैं। 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'
क्योंकि resampling केवल datatime अनुक्रमित पर अनुमति दी है, मैं unstacking अन्य सूचकांक स्तंभ में मदद मिलेगी सोचा। और वास्तव में यह करता है, लेकिन मैं इसे बाद में फिर से ढेर नहीं कर सकता।
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
लेकिन तब stacking 'आईडी' फिर से एक सूचकांक त्रुटि में परिणाम है:
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')
इंडेक्स-त्रुटि तब भी होती है जब मैं कॉलम स्तर दोनों को पुन: व्यवस्थित (स्वैप) करता हूं। क्या कोई इस मुद्दे को दूर करने के बारे में जानता है?
मैंने इसे [github पर एक मुद्दा] (https://github.com/pydata/pandas/issues/3170) के रूप में पोस्ट किया। –
धन्यवाद, मुझे यकीन नहीं था कि यह एक मुद्दा होगा या सिर्फ मुझे। लेकिन नीचे दिया गया जवाब स्पष्ट रूप से दिखाता है। –
यह मास्टर में [निश्चित] (https://github.com/pydata/pandas/pull/3225) है (इसलिए आप इसे 0.11 में देखेंगे)। –