James McCool commited on
Commit
9ab04b3
·
1 Parent(s): 4f8d205

Refactor trim_portfolio function in global_func/trim_portfolio.py: optimize iteration logic for filtering portfolios based on ownership type.

Browse files
Files changed (1) hide show
  1. global_func/trim_portfolio.py +4 -4
global_func/trim_portfolio.py CHANGED
@@ -2,11 +2,11 @@ def trim_portfolio(portfolio, performance_type, own_type):
2
  working_portfolio = portfolio.sort_values(by=performance_type, ascending = False)
3
  curr_own_type_max = working_portfolio[own_type].max()
4
 
5
- for row in working_portfolio.iterrows():
6
- if row[performance_type] < curr_own_type_max:
7
- working_portfolio = working_portfolio.drop(row.name)
8
  curr_own_type_max = working_portfolio[own_type].max()
9
- elif row[performance_type] >= curr_own_type_max:
10
  pass
11
 
12
  return working_portfolio
 
2
  working_portfolio = portfolio.sort_values(by=performance_type, ascending = False)
3
  curr_own_type_max = working_portfolio[own_type].max()
4
 
5
+ for port_rows in range(len(working_portfolio)):
6
+ if working_portfolio.iloc[port_rows][own_type] > curr_own_type_max:
7
+ working_portfolio = working_portfolio.drop(port_rows)
8
  curr_own_type_max = working_portfolio[own_type].max()
9
+ elif working_portfolio.iloc[port_rows][own_type] <= curr_own_type_max:
10
  pass
11
 
12
  return working_portfolio