Python | 配列を使った 複数列の異なる計算式 の処理テンプレ

Python
スポンサーリンク

ここでは Python(NumPy / pandas) を例に、複数列に対して異なる計算をまとめて処理するテンプレートを紹介します。


Python (NumPy) 版

import numpy as np

# サンプルデータ(行: レコード、列: 項目)
data = np.array([
    [10, 20, 30],
    [40, 50, 60],
    [70, 80, 90]
])

# 各列ごとに異なる計算を定義
# 例: 1列目→2倍, 2列目→平方, 3列目→10を引く
calc_funcs = [
    lambda x: x * 2,
    lambda x: x ** 2,
    lambda x: x - 10
]

# 各列に適用
result = np.column_stack([func(data[:, i]) for i, func in enumerate(calc_funcs)])

print(result)
Python

📌 出力例

[[ 20 400  20]
 [ 80 2500  50]
 [140 6400  80]]

Python (pandas) 版

import pandas as pd

# サンプルデータ
df = pd.DataFrame({
    "A": [10, 40, 70],
    "B": [20, 50, 80],
    "C": [30, 60, 90]
})

# 各列ごとに異なる計算式を定義
calc_map = {
    "A": lambda x: x * 2,
    "B": lambda x: x ** 2,
    "C": lambda x: x - 10
}

# 適用
for col, func in calc_map.items():
    df[col] = df[col].apply(func)

print(df)
Python

📌 出力例

     A     B   C
0   20   400  20
1   80  2500  50
2  140  6400  80

テンプレのポイント

  • 計算式を関数リストや辞書にまとめることで、列ごとに異なる処理を一括で適用できる
  • NumPyなら高速なベクトル演算、pandasなら列名で管理しやすい
  • Excelやスプレッドシートでも「配列数式」や「列ごとの関数適用」で同じ考え方が使える
Python
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました