Data Pipeline Patterns
Transform Values
Mapping transforms each input value into the shape needed by later pipeline stages.
transforming values
A transform stage computes a new value for each item without changing the original list.
Transform Values
transform_values.py
Replay: real traced execution (multi-file project)
prices = [10, 25, 40]
discount = 5
net_prices = []
for price in prices:
net_prices.append(price - discount)
print("net=" + ",".join(str(price) for price in net_prices))
prices = [10, 25, 40]
discount = 10
net_prices = []
for price in prices:
net_prices.append(price - discount)
print("net=" + ",".join(str(price) for price in net_prices))
prices ← [10, 25, 40], discount ← 5, net_prices ← []
1prices→ [10, 25, 40] = [10, 25, 40]23discount→ 5 = 5 #@discount=1045net_prices→ [] = []6for price in prices:net_prices ← [5]
pass 1 of 35net_prices = []6for price10 in prices[10, 25, 40]:7 net_prices→ [5].append(price10 - discount5)All 3 passes — pass 1 is the card above pass pricenet_prices1 10 [] → [5] 2 25 [5] → [5, 20] 3 40 [5, 20] → [5, 20, 35] print("net=" + ",".join(str(price) for price in net_prices))
9print("net=" + ",".join(str(price) for price in net_prices[5, 20, 35]))outputnet=5,20,35
prices ← [10, 25, 40], discount ← 10, net_prices ← []
1prices→ [10, 25, 40] = [10, 25, 40]23discount→ 10 = 1045net_prices→ [] = []6for price in prices:net_prices ← [0]
pass 1 of 35net_prices = []6for price10 in prices[10, 25, 40]:7 net_prices→ [0].append(price10 - discount10)All 3 passes — pass 1 is the card above pass pricenet_prices1 10 [] → [0] 2 25 [0] → [0, 15] 3 40 [0, 15] → [0, 15, 30] print("net=" + ",".join(str(price) for price in net_prices))
9print("net=" + ",".join(str(price) for price in net_prices[0, 15, 30]))outputnet=0,15,30