私はこのようなマルチインデックス持っている:私はどうなる単一のインデックスDFで日付に基づいて80/20の部分でマルチインデックスを分割する方法は?私のDFで
df.index.names
FrozenList([u'Ticker', u'Date'])
<class 'pandas.core.frame.DataFrame'>
MultiIndex: 189667 entries, (AAPL, 1992-08-31 00:00:00) to (^DJI, 2017-08-31 00:00:00)
:
from sklearn.model_selection import train_test_split
df_train, df_test = train_test_split(df, test_size=0.2, shuffle=False)
しかし、これはマルチインデックスでは動作しません、それだけで行をカットします80/20
注:私はランダムサンプリングを望んでおらず、日付に基づいて80/20を分割するだけです。
手がかりはありますか?
編集:
は、これは私が(離れて、多くの二つ以上のティッカーから)問題のデータを取得する方法である:
最初のGET:ここ
import pandas as pd
import pandas_datareader.data as web
tickers = ['AAPL', 'AXP']
def get_data(tickers):
''' Dowloads daily O/H/L/C data for all symbols'''
def data(ticker):
return web.DataReader(ticker, 'yahoo')
datas = map(data, tickers)
return pd.concat(datas, keys=tickers, names=['Ticker', 'Date'])
stock_data = get_data(tickers)
に変更されています。私はそれを再現しようとしています。小さな再現可能なデータセットと必要なデータセットを提供できますか? – MaxU
@MaxU上記の – cJc
をご覧ください。希望するデータセットは何ですか? – MaxU