У меня есть MultiIndex
DataFrame
с DateTimeIndex
на одном из уровней.
dates = pandas.date_range('20180101', periods=10)
index = pandas.MultiIndex.from_product([dates, list('ABC')])
df = pandas.DataFrame(index=index,
columns=list('1234'),
data=numpy.random.randn(30,4))
Я бы хотел повысить частоту до мелкого заполнения, вперед.
Я нашел следующие методы
df.unstack().resample('T').ffill().stack()
df = df.groupby(pandas.Grouper(freq='T', level=0)).ffill()
Тем не менее, оба очень интенсивно используют память, и с моим набором данных я получаю MemoryError
.
До его устаревания я мог представлять свой набор данных, используя Panel
, с одним DataFrame
на дату
pnl = pandas.Panel(items=dates,
major_axis=list('ABC'),
minor_axis=list('1234'),
data=numpy.random.rand(120).reshape(10,3,4))
Сэмплирование панели очень просто:
pnl = pnl.resample('T').ffill()
Как я могу увеличить число MultiIndex DataFrame
в поместье с эффективным использованием памяти?