Skip to content

Commit 49dd163

Browse files
committed
TR 2 update
1 parent 21033fe commit 49dd163

File tree

3 files changed

+20
-25
lines changed

3 files changed

+20
-25
lines changed

pandas-iterate-over-rows/cumulative_sum_codetiming.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,11 @@
55
def loop_cumsum(products):
66
cumulative_sum = []
77
for product in products.itertuples():
8+
income = product.sales * product.unit_price
89
if cumulative_sum:
9-
cumulative_sum.append(
10-
cumulative_sum[-1] + (product.sales * product.unit_price)
11-
)
10+
cumulative_sum.append(cumulative_sum[-1] + income)
1211
else:
13-
cumulative_sum.append(product.sales * product.unit_price)
12+
cumulative_sum.append(income)
1413
return products.assign(cumulative_income=cumulative_sum)
1514

1615

pandas-iterate-over-rows/cumulative_sum_perfplot.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,11 @@
55
def loop_cumsum(products):
66
cumulative_sum = []
77
for product in products.itertuples():
8+
income = product.sales * product.unit_price
89
if cumulative_sum:
9-
cumulative_sum.append(
10-
cumulative_sum[-1] + (product.sales * product.unit_price)
11-
)
10+
cumulative_sum.append(cumulative_sum[-1] + income)
1211
else:
13-
cumulative_sum.append(product.sales * product.unit_price)
12+
cumulative_sum.append(income)
1413
return products.assign(cumulative_income=cumulative_sum)
1514

1615

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,20 @@
11
# %%
2-
32
import pandas as pd
43

4+
# %% Get the cumulative sum with .itertuples()
5+
products = pd.read_csv("resources/products.csv")
6+
7+
cumulative_sum = []
8+
9+
for product in products.itertuples():
10+
income = product.sales * product.unit_price
11+
if cumulative_sum:
12+
cumulative_sum.append(cumulative_sum[-1] + income)
13+
else:
14+
cumulative_sum.append(income)
15+
16+
products.assign(cumulative_income=cumulative_sum)
17+
518
# %% To get cumulative sum, instead of looping, you can create intermediate
619
# columns and use .cumsum()
720
products = (
@@ -12,19 +25,3 @@
1225
)
1326
.drop(columns="income")
1427
)
15-
16-
# %% The equivalent way to do that with only .itertuples()
17-
products = pd.read_csv("resources/products.csv")
18-
19-
cumulative_sum = []
20-
21-
for product in products.itertuples():
22-
if cumulative_sum:
23-
cumulative_sum.append(
24-
cumulative_sum[-1] + (product.sales * product.unit_price)
25-
)
26-
else:
27-
cumulative_sum.append(product.sales * product.unit_price)
28-
29-
products.assign(cumulative_income=cumulative_sum)
30-
# %%

0 commit comments

Comments
 (0)