Pandas(Python)にて最大値の2番目や最大値を計算する方法【2番目に大きい数など上からn番目の値を抽出】
大量の科学的データを解析する際には、pythonを初めとしたデータ加工に長けたプログラミングを理解しておくと便利です。
例えば、python(jupyternotebook使用)のpandas機能にてある列の2番目に大きい数値を出力したり、最大値を求めるにはどのように処理すればいいのか理解していますか。
ここでは、これらpandasにて最大値に関する数値を計算する方法について解説していきます。
・pandas(Python)にて最大値を計算する方法【max関数】
・pandas(Python)にて2番目に大きい数値を求める方法【上からn番目の数を抽出】
というテーマで解説していきます。
pandas(Python)にて最大値を計算する方法【max関数】
それでは、実際のデータ(以下架空のもの)を使用して、pythonのpandasにて特定の列の数値の最大値を求める方法について確認していきます。
このa列において、最大値を出力させるにはmax関数を使うといいです。コードは以下の通りであす。
出力結果は以下のようになります。
今回のデータの例では、14が最大値と求める事ができました。なお、列を指定しない場合はすべての列ごとの最大値が出力されます。
pandas(Python)にて2番目に大きい数値を求める方法【上からn番目の数を抽出】
今度は最大値の2番目など上からn番目に大きい数値を抽出する方法について紹介していきます。こちらではmax関数は使いません。
流れとしてはまず特例の列を指定し、降順(数値の大きい順)に並び替え、その上位二つを抽出することで最大値と最大値の2番目を計算することができます。
具体的には、
・df.sort_values("指定列",ascending=Falsse)で降順に並び替え
・df.head(数値)で数値分のデータを抽出
していきます。
ソースコードは以下の通りです。
import os
os.chdir("C:\\sample\\")
import pandas as pd
df = pd.read_csv("sample4.csv",encoding="SHIFT_JIS")
dfs = df.sort_values("a",ascending=False)
dfs.head(2)
すると、以下のようpandasにて最大値の2番目を計算できました。
なお、最大値の2番目だけではなく、n番目であってもhead関数内の数値をnと変更するだけで対応できることも覚えておくといいです。
関連記事
excelにて最大値の2番目を計算する方法
【python】pandasにて最大値の2番目や最大値を計算する方法【2番目に大きい】 関連ページ
- 【matplotlib】x軸(軸ラベル)を回転させる方法【python(pandas)】
- 【pandas】csv読み込み時にディレクトリ(フォルダ)を指定する方法【python(pandas)】
- 【python】csvの書き込み(保存)時に列指定を行う方法【pandas(jupyternotebook)での出力】
- 【python】csvの保存先を指定する方法【pandasにおけるdataframe(jupyternotebook)】
- 【python】pandasにて欠損値(NAN)を補完(置換)・削除する方法【空白行の削除】
- 【python】pandasにてヘッダーの変更(データフレーム)を行う方法【csvやexcel読み込み時など】
- 【python】pandasにてヘッダー(header)を飛ばす方法【複数行のヘッダーがある場合など】