python - 如何在 Pandas 中重新采样数据帧字典(雅虎数据)?

标签 python pandas grouping dataframe

我想从雅虎财经下载一堆数据,将其放入字典中并用它做各种事情。首先将其重新采样为“季度的最后一个生日”或“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 循环中。

谢谢

最佳答案

在 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)

关于python - 如何在 Pandas 中重新采样数据帧字典(雅虎数据)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26414801/

相关文章:

python - SQLAlchemy - 最大列长度

python - 使用多个参数并行化 groupby

python - 如何计算具有 NaN 值的 pandas DataFrame 的平均值

python - 如何将数据框中图像的扩展名转换为大写

python - 如何使用 Melt 将多个列名称作为 val_vars 传递?

python - 使用元类允许前向声明

WPF Infragistics xamDataGrid - CollectionView GroupDescriptions 无法像 WPF DataGrid 那样被识别

java - 根据特定键对 HashMap 项进行分组

javascript - KendoUI 数据源分组并按多个字段聚合

python - 关于 all() 和 any() 函数的混淆