Transcript for Friday 09 November (practice)
| categories: Transcripts, Practice
Today we worked through the practice problems from 6 November.
import numpy as np
def esmooth(A, alpha):
R = np.zeros_like(A)
R[0] = A[0]
for i in range(1, len(A)):
R[i] = alpha * A[i] + (1 - alpha) * R[i-1]
return R
def esmooth2(A, alpha):
R = np.zeros_like(A)
for i, v in enumerate(A):
if i == 0:
R[i] = v
else:
R[i] = alpha*A[i] + (1 - alpha) * R[i-1]
return R
def esmooth3(A, alpha):
R = []
R.append(A[0])
for v in A[1:]:
R.append(alpha * v + (1 - alpha) * R[-1])
return np.array(R)
def reverseArray(A):
R = np.zeros_like(A)
N = len(A)
for i in range(N):
R[i] = A[N - i - 1]
return R
def bdesmooth(A, alpha):
R1 = esmooth(A, alpha)
R2 = esmooth(A[-1::-1], alpha)
R2 = R2[-1::-1]
return (R1 + R2) / 2
def replaceOutliers(A, lower, upper):
s = 0.0
n = 0
for v in A:
if lower <= v <= upper:
s = s + v
n = n + 1
m = s / n
R = np.zeros_like(A)
for i, v in enumerate(A):
if v < lower or v > upper:
R[i] = m
else:
R[i] = A[i]
return R