| name | scipy |
| description | Scientific computing library. Use for optimization, interpolation, statistics, signal processing, and numerical integration. |
SciPy
Scientific computing tools built on NumPy.
Quick Start
from scipy import stats, optimize
import numpy as np
Statistics for Anomaly Detection
# Z-score anomalies
z_scores = stats.zscore(data)
anomalies = np.abs(z_scores) > 3
# IQR method
q1, q3 = np.percentile(data, [25, 75])
iqr = q3 - q1
lower = q1 - 1.5 * iqr
upper = q3 + 1.5 * iqr
anomalies = (data < lower) | (data > upper)
# Distribution fitting
params = stats.norm.fit(data)
pdf = stats.norm.pdf(x, *params)
Time Series
from scipy.signal import find_peaks, savgol_filter
# Smooth noisy data
smoothed = savgol_filter(data, window_length=11, polyorder=3)
# Find peaks/spikes
peaks, properties = find_peaks(data, height=threshold, distance=min_distance)
Statistical Tests
# Test for normality
stat, p_value = stats.normaltest(data)
# Compare distributions
stat, p = stats.ks_2samp(sample1, sample2)