2016-06-30 7 views

答えて

1

この試してみてください。説明

In [62]: df[df.columns[(df.var(ddof=0) >= 1.0)]] 
Out[62]: 
    Id M  R 
0 7 286 907 
1 12 286 907 
2 17 186 1271 
3 21 296 905 
4 30 308 908 
5 32 267 905 
6 40 591 788 
7 41 486 874 
8 47 686 906 
9 74 230 907 

を:@ayhanする

In [64]: (df.var(ddof=0) >= 1.0) 
Out[64]: 
Id  True 
F  False 
M  True 
R  True 
dtype: bool 


In [61]: df.columns[(df.var(ddof=0) >= 1.0)] 
Out[61]: Index(['Id', 'M', 'R'], dtype='object') 

In [62]: df[df.columns[(df.var(ddof=0) >= 1.0)]] 
Out[62]: 
    Id M  R 
0 7 286 907 
1 12 286 907 
2 17 186 1271 
3 21 296 905 
4 30 308 908 
5 32 267 905 
6 40 591 788 
7 41 486 874 
8 47 686 906 
9 74 230 907 

PSのおかげで - 彼はpandas's var()ddof=1パラメータのデフォルト値を使用していることに気づいたとnumpy's implementationがデフォルトあたりddof=0を使用しています。

+1

np.varと全く同じ場合、pandas varに 'ddof = 0'を渡す必要があります。デフォルトでは、パンダは母集団の分散ではなく標本の分散を計算します。 – ayhan

+1

@ayhan、良いキャッチ!どうもありがとう!私は私の答えを修正しました – MaxU

関連する問題