2017-08-22 14 views
0

私は次のクラスを持っていて、get_percent_changeメソッドが値を返すものの、printステートメントは空のデータフレームを返します。私は3つにテストを割り当てようとしました。それでも空のデータフレーム。DataFrameに指定された値が割り当てられていません

クラス内にあるということとは何か? initメソッドの内部? self.metricsも使ってみました。ここで

class options_metrics: 
    def __init__(self, calls, puts): 
     self.calls, self.puts = calls, puts 
     self.calls = self.calls.drop(["Type"]) 
     self.puts = self.puts.drop(["Type"]) 

     metrics = pd.DataFrame() 
     metrics['Perc_Chg_Vol_Call'], metrics['Perc_Chg_Open_Int_Call'] = self.get_percent_change(self.calls) 

     metrics['Test'] = 3 

     print(metrics) 
     input() 

    def get_percent_change(self, option_df): 
     perc_changes = option_df.pct_change(axis=1) 
     print(perc_changes) 
     return (perc_changes.ix['Vol',1], perc_changes.ix['Open_Int',1]) 

が出力されます:シリーズへのデータフレームの切り替え

Empty DataFrame 
Columns: [Perc_Chg_Vol_Call, Perc_Chg_Open_Int_Call, Test] 
Index: [] 
+0

'metrics = pd.DataFrame()' - このDataFrameにはどこにデータ(行)を追加していると思いますか? –

+0

私はこれまでのように空のデータフレームに値を設定していると誓っていたかもしれませんが、すでに行があったか、格納する前にpandasを使って行が正しく開始されたと思います。 私はそれをシリーズに切り替えました。それはうまくいくでしょう。ありがとう。 – mobone

答えて

0

で働いていました。

関連する問題