2016-11-29 3 views
3

私はpandas.corrを使用してデータフレームから相関行列を生成している:私は何をしようとしているデータフレームから行と列の名前を取り出す方法は?

cmat = sub1.corr() 

cmat 
Out[75]: 
      CESI001 CESI002 CESI003 CESI004 
CESI001 1.000000 0.829723 0.046925 0.074475 
CESI002 0.829723 1.000000 0.066766 0.073181 
CESI003 0.046925 0.066766 1.000000 -0.098427 
CESI004 0.074475 0.073181 -0.098427 1.000000 

は、セルの値は、いくつかを満たしているからなる新しいデータフレーム[行、列、値]を生成しています基準。私は、一致するセルの値を取得することに成功しました:

for i2,r2 in cmat.iterrows(): 
for item in cmat[i2]: 
    if ((item > 0.3) and (item < 0.9)): 
     print (item) 

これは正しく生成します。

0.829723365019 
0.829723365019 

しかし、私は、行と列の名前を取得するために、そこから逆方向に動作することはできません。私は.loc、.columname、およびここで読んだいくつかの他のアプローチを試しました。私は、Pythonがデータフレーム全体を操作することについてもっと理解しています。どんな指導も高く評価

答えて

2
  • stackはあなたが必要なものをフィルタリングするために、行と列
  • queryをラインアップする

cmat.stack().to_frame('item').query('.3 < item < .9') 

enter image description here

関連する問題