データ要素の「最大と最小」は、Pythonで簡単に確認することができます。
本記事では、そんなPython基礎となる最大と最小について、詳しくご説明します。
最大
Pythonを使用した最大の確認方法をご紹介します。
max()
max()関数を使用すると、指定した引数の中から最大の引数を出力することができます。
#input
M = max(1,2,3,4,5)
print(M)
#output
5
上記ご紹介した数値データの他に、文字列データにも使用することができます。
#input
M1 = max("ABCDE")
M2 = max("abCDE")
M3 = max("あいうえお")
print("ABCDEの最大:{}".format(M1))
print("abCDEの最大:{}".format(M2))
print("あいうえおの最大:{}".format(M3))
#output
ABCDEの最大:E
abCDEの最大:b
あいうえおの最大:お
アルファベットは、A→Z→a→zの順序で、大文字の方が小文字よりも小さい扱いになっています。
以下のように、リストやタプルの最大要素も確認することができます。
#input
list = [6,2,8,3,9,4,5,7,1]
M1 = max(list)
tuple = [(2,9),(7,1),(6,8)]
M2 = max(tuple, key=lambda x:x[0])
M3 = max(tuple, key=lambda x:x[1])
print(M1)
print(M2)
print(M3)
#output
9
(7, 1)
(2, 9)
上記例のM2は、タプルのうちインデックス番号0が最大となるものを出力し、M3は、インデックス番号1が最大となるものを出力しています。
numpy.max()
NumPyのnumpy.max()を使用すると、配列の最大要素を出力することができます。
(nanが含まれていると、常に最大として処理されます。)
#input
import numpy as np
x = [[23, 36, 72],
[99, 21, 18],
[11, 59, 48]]
M1 = np.max(x)
M2 = np.max(x,axis=0)
M3 = np.max(x,axis=1)
print("配列の最大要素:{}".format(M1))
print("配列の各列最大:{}".format(M2))
print("配列の各行最大:{}".format(M3))
#output
配列の最大要素:99
配列の各列最大:[99 59 72]
配列の各行最大:[72 99 59]
numpy.nanmax()
NumPyのnumpy.nanmax()を使用すると、配列の最大要素をnan非考慮で出力することができます。
#input
import numpy as np
x = [[18, 63, 74],
[88, np.nan, 14],
[69, 79, 45]]
M1 = np.nanmax(x)
M2 = np.nanmax(x,axis=0)
M3 = np.nanmax(x,axis=1)
print("配列の最大要素:{}".format(M1))
print("配列の各列最大:{}".format(M2))
print("配列の各行最大:{}".format(M3))
#output
配列の最大要素:88.0
配列の各列最大:[88. 79. 74.]
配列の各行最大:[74. 88. 79.]
numpy.argmax()
NumPyのnumpy.argmax()を使用すると、配列の最大要素のインデックスを出力することができます。
#input
import numpy as np
x = [[18, 63, 43, 76, 31, 99, 54]]
M = np.argmax(x)
print(M)
#output
5
numpy.maximum()
NumPyのnumpy.maximum()を使用すると、異なる配列同士の各要素の最大要素を配列として出力することができます。
#input
import numpy as np
x1 = np.array([31, 80, 12])
x2 = np.array([98, 63, 29])
M = np.maximum(x1,x2)
print(M)
#output
[98 80 29]
最小
Pythonを使用した最小の確認方法をご紹介します。
min()
min()関数を使用すると、指定した引数の中から最小の引数を出力することができます。
#input
M = min(1,2,3,4,5)
print(M)
#output
1
文字列データにも使用することができます。
#input
M1 = min("ABCDE")
M2 = min("abCDE")
M3 = min("あいうえお")
print("ABCDEの最小:{}".format(M1))
print("abCDEの最小:{}".format(M2))
print("あいうえおの最小:{}".format(M3))
#output
ABCDEの最小:A
abCDEの最小:C
あいうえおの最小:あ
リストやタプルの最小要素も確認することができます。
#input
list = [6,2,8,3,9,4,5,7,1]
M1 = min(list)
tuple = [(2,9),(7,1),(6,8)]
M2 = min(tuple, key=lambda x:x[0])
M3 = min(tuple, key=lambda x:x[1])
print(M1)
print(M2)
print(M3)
#output
1
(2, 9)
(7, 1)
numpy.min()
NumPyのnumpy.min()を使用すると、配列の最小要素を出力することができます。
(nanが含まれていると、常に最小として処理されます。)
#input
import numpy as np
x = [[23, 36, 72],
[99, 21, 18],
[11, 59, 48]]
M1 = np.min(x)
M2 = np.min(x,axis=0)
M3 = np.min(x,axis=1)
print("配列の最小要素:{}".format(M1))
print("配列の各列最小:{}".format(M2))
print("配列の各行最小:{}".format(M3))
#output
配列の最小要素:11
配列の各列最小:[11 21 18]
配列の各行最小:[23 18 11]
numpy.nanmin()
NumPyのnumpy.nanmin()を使用すると、配列の最小要素をnan非考慮で出力することができます。
#input
import numpy as np
x = [[18, 63, 74],
[88, np.nan, 14],
[69, 79, 45]]
M1 = np.nanmin(x)
M2 = np.nanmin(x,axis=0)
M3 = np.nanmin(x,axis=1)
print("配列の最小要素:{}".format(M1))
print("配列の各列最小:{}".format(M2))
print("配列の各行最小:{}".format(M3))
#output
配列の最小要素:14.0
配列の各列最小:[18. 63. 14.]
配列の各行最小:[18. 14. 45.]
numpy.argmin()
NumPyのnumpy.argmin()を使用すると、配列の最小要素のインデックスを出力することができます。
#input
import numpy as np
x = [[18, 63, 43, 76, 31, 99, 54]]
M = np.argmin(x)
print(M)
#output
0
numpy.minimum()
NumPyのnumpy.minimum()を使用すると、異なる配列同士の各要素の最小要素を配列として出力することができます。
#input
import numpy as np
x1 = np.array([31, 80, 12])
x2 = np.array([98, 63, 29])
M = np.minimum(x1,x2)
print(M)
#output
[31 63 12]
まとめ
この記事では、Python基礎となる最大と最小について、ご説明しました。
本記事を参考に、ぜひ色々と試してみてください。
参考
Python学習用おすすめ教材
Pythonの基本を学びたい方向け
統計学基礎を学びたい方向け
Pythonの統計解析を学びたい方向け
おすすめプログラミングスクール
Pythonをはじめ、プログラミングを学ぶなら、TechAcademy(テックアカデミー)がおすすめです。
私も入っていますが、好きな時間に気軽にオンラインで学べますので、何より楽しいです。
現役エンジニアからマンツーマンで学べるので、一人では中々続かない人にも、向いていると思います。
無料体験ができますので、まずは試してみてください!