-
NumPyを使用した等間隔のビニング:
import numpy as np data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] num_bins = 3 bins = np.linspace(min(data), max(data), num_bins + 1) binned_data = np.digitize(data, bins) print(binned_data)
-
pandasを使用した値の範囲に基づくビニング:
import pandas as pd data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] bins = [0, 3, 6, 10] binned_data = pd.cut(data, bins) print(binned_data)
-
カスタムのビニング関数を作成する方法:
def custom_binning(data, thresholds): binned_data = [] for value in data: for i, threshold in enumerate(thresholds): if value <= threshold: binned_data.append(i) break else: binned_data.append(len(thresholds)) return binned_data data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] thresholds = [3, 6] binned_data = custom_binning(data, thresholds) print(binned_data)
これらの方法は、与えられたデータをビンに分割するための基本的な手法です。NumPyやpandasを使用すれば、より高度なビニング操作も簡単に行うことができます。自分のデータや要件に応じて、適切な方法を選択してください。