1

これがおそらく非常に単純であることはわかっていますが、しばらくの間これを解決しようとしており、かなりの数の関数で必要です。

2 つの列を持つ DataFrame があり、両方に株価データが含まれています。

「returns」と呼ばれる新しいデータフレームで 2 つの新しい列を計算したいと思います。各列の名前は最初の列と同じです (つまり、「AAPL」と「GOOG」)。

この手順を使用して元のデータを取得し、「データ」データフレームを作成します。

names = ['AAPL', 'GOOG']

def get_data(stock, start, end):
    return web.get_data_yahoo(stock, start, end)['Adj Close']

data = pd.DataFrame({n: get_data(n, '1/1/2009', '6/1/2012') for n in names})

(パンダライブラリから)を使用して返品を生成できることを私は知っています:

returns = pd.DataFrame(index=data.index)
returns['*COLUMN A*'] = data['*COLUMN A*'].pct_change()

ただし、「名前」または列のいずれかを反復処理するには、ある種のループを使用する必要があると推測していますが、何も機能しません。

どんな助けでも大歓迎です。かなり曖昧で申し訳ありませんが、これは私の最初の質問であり、フォーラムを30分間検索しました:)

4

1 に答える 1