Pythonプログラミングでデータ分析を始めるならNumPy!チュートリアルで基礎を固めよう
このチュートリアルでは、NumPy の基本事項を段階的に説明し、プログラミング初心者でも簡単に理解できるようにします。
NumPy のインストール
NumPy を使用する前に、Python にインストールする必要があります。以下のコマンドを実行してください。
pip install numpy
基本的なデータ型
NumPy では、様々なデータ型を扱うことができます。最も一般的なものは以下の通りです。
- complex
複素数 - str
文字列 - bool
真偽値 - float
浮動小数点数 - int
整数
データ型は、np.array()
関数を使用して指定できます。
import numpy as np
# 整数の配列
int_array = np.array([1, 2, 3])
# 浮動小数点数の配列
float_array = np.array([1.2, 3.4, 5.6])
# 真偽値の配列
bool_array = np.array([True, False, True])
# 文字列の配列
str_array = np.array(['Python', 'NumPy', 'Tutorial'])
# 複素数の配列
complex_array = np.array([1j, 2+3j, 4-5j])
配列の操作
NumPy は、配列に対して様々な操作を実行することができます。
要素へのアクセス
配列の要素には、インデックスを使用してアクセスできます。インデックスは 0 から始まり、配列の長さよりも小さくなければなりません。
# 整数の配列
int_array = np.array([1, 2, 3])
# 1 番目の要素を取得
first_element = int_array[0] # first_element は 1 になります
# 最後の要素を取得
last_element = int_array[-1] # last_element は 3 になります
スライシング
スライシングを使用して、配列の一部を抽出することができます。
# 整数の配列
int_array = np.array([1, 2, 3, 4, 5])
# 2 番目の要素から 4 番目の要素までの部分配列を取得
sub_array = int_array[2:4] # sub_array は [3, 4] になります
# 最初の 3 つの要素を取得
first_three = int_array[:3] # first_three は [1, 2, 3] になります
# 最後の 2 つの要素を取得
last_two = int_array[-2:] # last_two は [4, 5] になります
形状変更
reshape()
関数を使用して、配列の形状を変更することができます。
# 2 行 3 列の整数の配列を作成
int_array = np.array([[1, 2, 3], [4, 5, 6]])
# 1 行 6 列の配列に変換
reshaped_array = int_array.reshape(1, 6) # reshaped_array は [1, 2, 3, 4, 5, 6] になります
データ型変換
astype()
関数を使用して、配列のデータ型を変換することができます。
# 浮動小数点数の配列
float_array = np.array([1.2, 3.4, 5.6])
# 整数の配列に変換
int_array = float_array.astype(int) # int_array は [1, 3, 5] になります
算術演算
+
, -
, *
, /
などの算術演算子は、配列に対して要素ごとに実行されます。
# 整数の配列
int_array1 = np.array([1, 2, 3])
int_array2 = np.array([4, 5, 6])
# 足し算
sum_array = int_array1 + int_array2 # sum_array は [5, 7, 9
import numpy as np
# 整数の配列
int_array = np.array([1, 2, 3])
# 浮動小数点数の配列
float_array = np.array([1.2, 3.4, 5.6])
# 真偽値の配列
bool_array = np.array([True, False, True])
# 文字列の配列
str_array = np.array(['Python', 'NumPy', 'Tutorial'])
# 複素数の配列
complex_array = np.array([1j, 2+3j, 4-5j])
print(int_array) # 出力:[1 2 3]
print(float_array) # 出力:[1.2 3.4 5.6]
print(bool_array) # 出力:[ True False True]
print(str_array) # 出力:['Python' 'NumPy' 'Tutorial']
print(complex_array) # 出力:[1.j (2+3j) (4-5j)]
配列の操作
# 整数の配列
int_array = np.array([1, 2, 3, 4, 5])
# 1 番目の要素を取得
first_element = int_array[0]
print(first_element) # 出力:1
# 最後の要素を取得
last_element = int_array[-1]
print(last_element) # 出力:5
# 2 番目の要素から 4 番目の要素までの部分配列を取得
sub_array = int_array[2:4]
print(sub_array) # 出力:[3 4]
# 最初の 3 つの要素を取得
first_three = int_array[:3]
print(first_three) # 出力:[1 2 3]
# 最後の 2 つの要素を取得
last_two = int_array[-2:]
print(last_two) # 出力:[4 5]
# 2 行 3 列の整数の配列を作成
int_array = np.array([[1, 2, 3], [4, 5, 6]])
# 1 行 6 列の配列に変換
reshaped_array = int_array.reshape(1, 6)
print(reshaped_array) # 出力:[1 2 3 4 5 6]
# 浮動小数点数の配列
float_array = np.array([1.2, 3.4, 5.6])
# 整数の配列に変換
int_array = float_array.astype(int)
print(int_array) # 出力:[1 3 5]
# 整数の配列
int_array1 = np.array([1, 2, 3])
int_array2 = np.array([4, 5, 6])
# 足し算
sum_array = int_array1 + int_array2
print(sum_array) # 出力:[5 7 9]
# 引き算
difference_array = int_array1 - int_array2
print(difference_array) # 出力:[-3 -3 -3]
# 掛け算
product_array = int_array1 * int_array2
print(product_array) # 出力:[4 6 9]
# 割り算
quotient_array = int_array1 / int_array2
print(quotient_array) # 出力:[0.25 0.4 0.5]
# べき乗
power_array = int_array1 ** 2
print(power_array) # 出力:[1 4 9]
- 論理的な代替:
- 真理値 - 論理式において真を表す値
- 単位行列 - すべての対角線要素が1で、それ以外の要素が0の行列
- 空集合 - 要素を持たない集合
- 数値としての代替:
- 0.99 - 1よりわずかに小さい値
- 1.01 - 1よりわずかに大きい値
- 1に近い分数 - 例:4/5、9/10
- 平均値 - 複数の値の平均
- 最頻値 - データセットの中で最も多く出現する値