[python] maxから二番目の数字を取得したい
解決したいこと
相関係数行列の中で(対角線上の値(=1)は除いて)
相関係数の絶対値が最も大きいものを検出したい。
期待した結果
mpg 0.579267
cylinders 0.950721
displacement 0.95072
horsepower 0.897257
weight 0.932824
acceleration 0.420289
model_year 0.579267
origin 0.420289
dtype: float64
該当するソースコード
x.py
# ライブラリをインポートする
import pandas as pd
import numpy as np
# 可視化のためのモジュール
import matplotlib as mpl
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
## URLからファイルのパスを読み取る
path = 'http://archive.ics.uci.edu/ml/machine-learning-databases/auto-mpg/auto-mpg.data'
## URLを渡し変数にデータを格納し、カラム名を指定する
mpg_data = pd.read_csv(path, delim_whitespace=True, header=None,
names = ['mpg', 'cylinders', 'displacement','horsepower','weight', 'acceleration', 'model_year', 'origin', 'name'],
na_values='?')
corr = mpg_data.corr()
発生している問題・エラー
各行ごとに1.0000の次のデータを抜き出したい
データの形はDF
自分で試したこと
x.py
# ライブラリをインポートする
import pandas as pd
import numpy as np
# 可視化のためのモジュール
import matplotlib as mpl
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
## URLからファイルのパスを読み取る
path = 'http://archive.ics.uci.edu/ml/machine-learning-databases/auto-mpg/auto-mpg.data'
## URLを渡し変数にデータを格納し、カラム名を指定する
mpg_data = pd.read_csv(path, delim_whitespace=True, header=None,
names = ['mpg', 'cylinders', 'displacement','horsepower','weight', 'acceleration', 'model_year', 'origin', 'name'],
na_values='?')
corr = mpg_data.corr()
#解決策
corr = corr[corr < corr.max()
corr.max()
解決策
これで相関行列以外も対応できる
x.py
corr = corr[corr < corr.max()
corr.max()
#結果
mpg 0.580541
cylinders 0.950823
displacement 0.950823
horsepower 0.897257
weight 0.932994
acceleration 0.423329
model_year 0.580541
origin 0.565209
dtype: float64
0