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
    • 平均値 - 複数の値の平均
    • 最頻値 - データセットの中で最も多く出現する値