LoginSignup
0
1

More than 3 years have passed since last update.

[python] maxから二番目の数字を取得したい

Posted at

質問したものが自分で解決できた記念に

解決したいこと

相関係数行列の中で(対角線上の値(=1)は除いて)
相関係数の絶対値が最も大きいものを検出したい。 

スクリーンショット 2021-03-10 21.01.51.png

期待した結果
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

データの形
スクリーンショット 2021-03-12 12.25.05.png

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1