Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 扩展时间序列_Python_Pandas_Panel_Time Series - Fatal编程技术网

Python 扩展时间序列

Python 扩展时间序列,python,pandas,panel,time-series,Python,Pandas,Panel,Time Series,我想在使用新数据更新时扩展一个timeseries。下面是我如何创建股票数据的初始面板。这是初始的空面板: def create_blank_data(): dates = pd.date_range(start=dt.date(2008, 1, 1), end=dt.date.today()) attrs = ['Open', 'High', 'Low', 'Close', 'Volume', 'Adj Close'] symbols_ = symbols.read()

我想在使用新数据更新时扩展一个timeseries。下面是我如何创建股票数据的初始面板。这是初始的空面板:

def create_blank_data():
    dates = pd.date_range(start=dt.date(2008, 1, 1), end=dt.date.today())
    attrs = ['Open', 'High', 'Low', 'Close', 'Volume', 'Adj Close']
    symbols_ = symbols.read()
    data = np.zeros((len(symbols_), len(dates), len(attrs)))
    return pd.Panel(data, items=symbols_, major_axis=dates, minor_axis=attrs)
然后,我可以像这样填充初始数据:

def test_fresh_data():
    data = create_blank_data()
    for symbol in symbols.read():
        data[symbol] = api(symbol, start='2010-01-01') # returns a Dataframe.
    return data
这似乎有效,但我无法扩展数据。如果我加载的任何数据帧包含较新的数据,我想更新面板。当前,如果我使用另一行“data[symbol]=api(symbol,start='2010-01-01')更新面板,则具有比面板中定义的日期更新的数据将被忽略。我认为首先应该明确地扩大小组的日期范围


我一直在使用

如果没有一些样本数据和对
符号
api
的解释,回答这个问题并不容易。您还应该解释正在更新的新数据是否与现有数据重叠。“符号”是短字符串,如“GOOG”和“AAPL”。api从internet检索最新的数据帧。示例:数据['GOOG']['Close'][dt.date(2013,1,2)]检索谷歌2013年1月2日的收盘价。我倾向于回答“没有简单的方法添加到面板的长轴/短轴,或者将行添加到数据帧”,新数据确实与现有数据重叠;我只想更新非重叠数据。一个短期解决方案就是用更新的数据替换旧数据。