【发布时间】:2014-06-18 08:15:42
【问题描述】:
我有一些时间序列数据以一种有点奇怪的格式存储。我想把它解析成pandas.Panel
数据来自不同的“位置”。来自每个位置的数据在文件中是连续的,但来自任何给定位置的时间序列被分成单独的“块”。一个位置的时间块之间不应有重叠。
我一直在将每个位置时间块读入pandas.Panel,其中:
Item axis = locationMajor axis = DatetimeIndex
我想扩展Panel 的轴以适应位置时间轴的任何新块。
import numpy as np
import pandas as pd
# we'll get data like this from the file
time_chunk_1 = pd.date_range(start='2010-10-01T00:00:00', periods=20,
freq='10S')
fake_data = np.cumsum(np.random.randn(len(time_chunk_1)))
mars_data_1 = pd.DataFrame(data=fake_data, index=time_chunk_1,
columns=['X'])
pluto_data_1 = pd.DataFrame(data=fake_data, index=time_chunk_1,
columns=['X'])
# gather the data in a panel
planet_data = pd.Panel(data={'Mars': mars_data_1, 'Pluto': pluto_data_1})
# further down the file we'll encounter data like this
time_chunk_2 = pd.date_range(start='2010-10-01T00:03:20', periods=20,
freq='10S')
mars_data_2 = pd.DataFrame(data=fake_data[::-1], index=time_chunk_2,
columns=['X'])
# I can make a DataFrame of the whole Mars time-series
mars_data_all = planet_data['Mars'].append(mars_data_2)
# but setting a frame of the panel doesn't extend the major axis
planet_data['Mars'] = mars_data_all
在我收集完这些块之后,我希望以下内容属实:
planet_data.Mars.index is mars_data_all.index
我尝试了以下排列:
在面板中设置新框架 (
planet_data['AllMars'] = mars_data_all)pandas.Panel.reindexpandas.Panel.replace
似乎我可能对基础数据和对其的看法感到困惑。我看过这些(1,2)相关的问题,但我仍然卡住了。感觉好像我可能遗漏了一些明显的东西。
【问题讨论】:
标签: python pandas panel time-series