[解決済み] Pandasで大規模相関行列から最高相関ペアをリストアップする?
2022-07-29 03:47:48
質問
Pandasで相関行列の上位相関を見つけるにはどうしたらいいでしょうか?Rでこれを行う方法については、多くの回答があります ( 相関を大きな行列としてではなく、順序付きリストとして表示する または PythonやRで大規模なデータセットから相関の高いペアを取得する効率的な方法 を参照)、しかし、私はpandasでそれを行う方法について疑問に思っています。私の場合、行列が4460x4460なので、ビジュアル的には無理です。
どのように解決するのでしょうか?
この場合
DataFrame.values
を使用してデータのnumpy配列を取得し、次のようなNumPyの関数を使用します。
argsort()
などのNumpy関数を用いて、最も相関の高いペアを取得します。
しかし、これをpandasで行う場合、以下のようになります。
unstack
を実行し、DataFrameをソートします。
import pandas as pd
import numpy as np
shape = (50, 4460)
data = np.random.normal(size=shape)
data[:, 1000] += data[:, 2000]
df = pd.DataFrame(data)
c = df.corr().abs()
s = c.unstack()
so = s.sort_values(kind="quicksort")
print so[-4470:-4460]
以下はその出力です。
2192 1522 0.636198
1522 2192 0.636198
3677 2027 0.641817
2027 3677 0.641817
242 130 0.646760
130 242 0.646760
1171 2733 0.670048
2733 1171 0.670048
1000 2000 0.742340
2000 1000 0.742340
dtype: float64
関連
-
[解決済み] リストからランダムに項目を選択するにはどうすればよいですか?
-
[解決済み] インデックスを指定してリストから要素を削除する方法
-
[解決済み] Pandas DataFrameからカラムを削除する
-
[解決済み] pandasを使った "大量データ "ワークフロー【終了しました
-
[解決済み] Pandasのデータフレームから行を選択するために値のリストを使用する
-
[解決済み] 辞書のリストをpandasのDataFrameに変換する
-
[解決済み] 2次元アレイにおけるピーク検出
-
[解決済み】Pandas DataFrameのカラムヘッダからリストを取得する。
-
[解決済み] Django 1.7で初期マイグレーションからマイグレートバックする方法は?
-
[解決済み] Python Logging でログメッセージが2回表示される件
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] PILからopenCVフォーマットへの変換
-
[解決済み] バブルソートの宿題
-
[解決済み] dict を txt ファイルに書き、それを読み取る?
-
[解決済み] Pythonのargparseを使った隠し引数の作成
-
[解決済み] python-requests モジュールからのすべてのリクエストをログに記録します。
-
[解決済み] 範囲指定された浮動小数点数のランダムな配列を生成します。
-
[解決済み] matplotlib でプロットの軸、目盛、ラベルの色を変更する方法
-
[解決済み] virtualenv の `--no-site-packages` オプションを元に戻す。
-
[解決済み] Pythonでファイルの読み込みと上書きをする
-
[解決済み] Django filter queryset __in for *every* item in list