以下のデータフレームにデータが格納されているこれら2社の年次業績を(市場価値の変化として)計算したいと思います。pandasの株価を計算するDataFrame
df = pd.DataFrame({'tic' : ['AAPL', 'AAPL', 'AAPL', 'GOOGL','GOOGL','GOOGL'],
'mktvalue' : [20,25,30,50,55,60],
'fyear' : [2014,2015,2016,2014,2015,2016]})
私はラムダ関数と同様の解決法を見てきましたが、これまではデータに適応できませんでした。私の主要な問題の
df['performance'] = df.fyear.apply(lambda x: (df.mktvalue[(df['fyear'] == 2014)])/
(df.mktvalue[(df['fyear'] == 2013)]) if x == 2014
else (df.mktvalue[(df['fyear'] == 2013)])/
(df.mktvalue[(df['fyear'] == 2013)])
一実装で
(df.mktvalue[(df['fyear'] == 2013)])
は、私は市場価値のすべてを受け取ったことを呼んでいた:私は年に基づいてパフォーマンスを計算するために念頭に置いて、このようなソリューションを持っていましたこの会社に対応するものだけではなく、2013年のものです。
私は助けていただきありがとうございます!
、 == 2013)]) 'は常に1を返します。それはあなたが望むものですか? – IanS