1
這是一個多部分問題。我似乎無法將所有的東西結合在一起。我們的目標是創建一個數據框(使用多指標猜測),我可以訪問如下:熊貓 - 合併多個數據幀
ticker = 'GOLD'
date = pd.to_datetime('1978/03/31')
current_bar = df.ix[ticker].ix[date]
我可以再只說:current_bar.Last?
無論如何,這裏是文件,以及如何加載它們。
In [108]: df = pd.read_csv('GOLD.csv', parse_dates='Date', index_col='Date')
In [109]: df
Out[109]:
Exp Last Volume
Date
1978-03-30 198002 995.6 54
1978-03-31 198002 999.5 78
In [110]: df2 = pd.read_csv('SPX.csv', parse_dates='Date', index_col='Date')
In [111]: df2
Out[111]:
Exp Last Volume
Date
1978-03-30 198003 215.5 25
1978-03-31 198003 214.1 99
理想情況下,我希望它看起來像這樣(我認爲):
ticker GOLD SPX
values Exp Last Volume Exp Last Volume
Date
1978-03-30 198002 995.6 54 198003 215.5 25
1978-03-31 198002 999.5 78 198003 214.1 99
- 我想我的問題是:
- 如何讓我這個層次的(實際數據每個文件有20 +相同的列)
- 然後我如何組合文件(我有大約100個需要全部進入1個DataFrame)
- 我的假設是正確的,我可以然後做:current_bar.Last獲取值?
非常感謝。
明白了。如果我想添加另一個df到'結果'(即'NDX'),該怎麼辦?如果結果已經有2個,我會用什麼鍵? (我只需要爲100個文件執行此操作,因此需要一種迭代的方式。謝謝 – trubby317
「pd.concat」的第一個參數可以是100個DataFrame的列表,而'keys'可以是100個ticker的列表例如,連接3個DataFrames:'result = pd.concat([df,df2,df3],keys = ['GOLD','SPX','NDX'],names = ['ticker'])。 ('ticker')' – unutbu
有沒有辦法做這樣的事情:result = pd.concat([result,df3],keys = [result.keys,'NDX'],names = ['ticker']) .unstack( '股票')? – trubby317