2017-02-08 10 views
1

フラグが "1"の場合、データをNaNに変換する最も速い方法は何ですか?Python Pandas Dataframe - フラグが '1'の場合、データをNaNに変換する最も速い方法は何ですか?

データとフラグを示すデータフレームがあります。 これらのフレームは数百の列と50万のレコード数を持っています。

df 
        S_1 S_2 ... S_n 
2016-01-01 00:00 5.6 0.4 ... 6.7 
2016-01-01 00:00 5.5 0.2 ... 6.6 
2016-01-01 00:00 5.0 0.2 ... 6.7 
.... 
2016-12-31 23:57 5.4 0.3 ... 6.7 
2016-12-31 23:58 5.9 0.3 ... 6.8 
2016-12-31 23:59 5.1 0.4 ... 7.0 

flag_table 
        S_1 S_2 ... S_n 
2016-01-01 00:00  0 0 ... 1 
2016-01-01 00:00  0 0 ... 0 
2016-01-01 00:00  1 0 ... 0 
.... 
2016-12-31 23:57  1 0 ... 0 
2016-12-31 23:58  1 0 ... 1 
2016-12-31 23:59  1 0 ... 0 

これは私が取得したいテーブルです:

df 
        S_1 S_2 ... S_n 
2016-01-01 00:00 5.6 0.4 ... NaN 
2016-01-01 00:00 5.5 0.2 ... 6.6 
2016-01-01 00:00 NaN 0.2 ... 6.7 
.... 
2016-12-31 23:57 NaN 0.3 ... 6.7 
2016-12-31 23:58 NaN 0.3 ... NaN 
2016-12-31 23:59 NaN 0.4 ... 7.0 

答えて

3
df.values[flag_table > 0] = np.nan 
関連する問題