我想从雅虎财经中下载一堆数据,把它放在一本字典中并用它做各种各样的事情。从重新采样到“季度的最后一天”或“BQ - 业务季度结束频率”开始:
import pandas as pd
import pandas.io.data as pdd
x = pdd.DataReader('VBK', data_source='yahoo', start='2004/1/30')
y = pdd.DataReader('IWM', data_source='yahoo', start='2000/5/26')
z = {'x': x, 'y': y}
conversion = {'Open': 'first', 'High': 'max', 'Low': 'min', 'Close': 'last', 'Volume': 'sum', 'Adj Close': 'last'}
for key, df in z.iteritems():
df.resample('BQ', how=conversion)
但是,没有任何反应。但是,如果我这样做:
test = x.resample('BQ', how=conversion)
我得到了预期的结果,但问题是我想为多个数据帧执行此过程。所以问题出在应用函数的for循环中。
谢谢
答案 0 :(得分:2)
在python 3中,没有字典的iteritems
方法。您还没有保存重采样方法的输出。
这对我有用:
import pandas as pd
import pandas.io.data as pdd
x = pdd.DataReader('VBK', data_source='yahoo', start='2004/1/30')
y = pdd.DataReader('IWM', data_source='yahoo', start='2000/5/26')
z = {'x': x, 'y': y}
conversion = {
'Open': 'first',
'High': 'max',
'Low': 'min',
'Close': 'last',
'Volume': 'sum',
'Adj Close': 'last'
}
for key, df in z.items():
z[key] = df.resample('BQ', how=conversion)