Python 为数据帧集执行lamba函数

Python 为数据帧集执行lamba函数,python,numpy,dataframe,Python,Numpy,Dataframe,我有点搜索stackoverflow,但我没有找到解决方案,这可能是因为数据帧对我来说仍然不是很清楚。我在做一个计算布林带的练习。我只做了一只股票,但我想让它适用于任何数量的商品。目前我有: def movingAverage(symbols, dt_start, dt_end, lookback): // Symbols = ['AAPL', 'GOOG'] ldt_timestamps = du.getNYSEdays(dt_start, dt_end, DT_TIME_O

我有点搜索stackoverflow,但我没有找到解决方案,这可能是因为数据帧对我来说仍然不是很清楚。我在做一个计算布林带的练习。我只做了一只股票,但我想让它适用于任何数量的商品。目前我有:

def movingAverage(symbols, dt_start, dt_end, lookback):
    // Symbols = ['AAPL', 'GOOG']

    ldt_timestamps = du.getNYSEdays(dt_start, dt_end, DT_TIME_OF_DAY)

    c_dataobj = da.DataAccess('Yahoo')
    ls_keys = ['close']

    ldf_data = c_dataobj.get_data(ldt_timestamps, symbols, ls_keys)
    d_data = dict(zip(ls_keys, ldf_data))

    closeData = d_data['close']

    d_data['ma'] = d_data['close'].copy() // calculates the Moving Average for ALL stocks
    d_data['std'] = d_data['close'].copy()
    d_data['bollinger'] = d_data['close'].copy()

    d_data['ma'] = pandas.rolling_mean(d_data['close'], lookback, min_periods=lookback)
    d_data['std'] = pandas.rolling_std(d_data['close'], lookback, min_periods=lookback)
我为计算整个帧的
ma
(移动平均)和
std
(滚动标准偏差)而自豪,而不是在符号上循环,因此我想知道的是(伪代码):

我只是认为我可以做到这一点,而不必对每个符号进行for循环,并通过按符号索引对
close
data
进行索引来计算

请告诉我这个问题是否可以改进


提前谢谢。

正如我在伪代码中描述的那样简单:

for all the symbols
    fill in d_data['bollinger'] with
      (d_data['close'] - d_data['ma']) / d_data['std']
d_data['bollinger'] = (d_data['close'] - d_data['ma']) / d_data['std']
感谢所有看过这个话题的人,下次我会花更多的时间来调查