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