データ解析に役立つNumPyの基本操作
1. CSVファイルの読み込みと保存
データ解析では、CSVファイルを読み込んで操作することがよくあります。
NumPyを使うと、これが簡単にできます。
import numpy as np
# CSVファイルの読み込み
data = np.genfromtxt('data.csv', delimiter=',', skip_header=1)
print(data)
# 配列をCSVファイルに保存
np.savetxt('output.csv', data, delimiter=',')
2. データのフィルタリング
大規模なデータセットから条件に合ったデータを抽出するのもNumPyで簡単に行えます。
# サンプルデータ
data = np.array([
[1, 100],
[2, 200],
[3, 300],
[4, 400],
[5, 500]
])
# 2列目の値が300以上の行を抽出
filtered_data = data[data[:, 1] >= 300]
print(filtered_data)
3. 基本統計量の計算
NumPyを使うと、基本的な統計量を簡単に計算できます。
# サンプルデータ
data = np.array([1, 2, 3, 4, 5])
# 平均
mean = np.mean(data)
print(f"平均: {mean}")
# 中央値
median = np.median(data)
print(f"中央値: {median}")
# 標準偏差
std = np.std(data)
print(f"標準偏差: {std}")
4. 欠損値の処理
データ解析では、欠損値の処理が重要です。
NumPyを使って、欠損値を簡単に扱うことができます。
# サンプルデータ(欠損値を含む)
data = np.array([1, 2, np.nan, 4, 5])
# 欠損値を含むデータの平均
mean_with_nan = np.nanmean(data)
print(f"欠損値を無視した平均: {mean_with_nan}")
# 欠損値を0で置換
data_without_nan = np.nan_to_num(data)
print(f"欠損値を0で置換: {data_without_nan}")
5. データの正規化
データの正規化は、異なるスケールのデータを比較する際に役立ちます。
# サンプルデータ
data = np.array([1, 2, 3, 4, 5])
# 最小-最大スケーリング
normalized_data = (data - np.min(data)) / (np.max(data) - np.min(data))
print(f"正規化データ: {normalized_data}")
6. 行列演算
NumPyでは、行列の演算も簡単に行えます。
# サンプルデータ
matrix1 = np.array([[1, 2], [3, 4]])
matrix2 = np.array([[5, 6], [7, 8]])
# 行列の積
product = np.dot(matrix1, matrix2)
print(f"行列の積:\n{product}")
# 要素ごとの積
elementwise_product = matrix1 * matrix2
print(f"要素ごとの積:\n{elementwise_product}")
以上
前回の記事