James McCool
Add portfolio name extraction and matching in app.py: implement a new function to retrieve unique player names from the portfolio, enhance name matching logic, and update session state with matched names for improved data consistency and analysis.
8e0da46
| import streamlit as st | |
| import numpy as np | |
| import pandas as pd | |
| import time | |
| from fuzzywuzzy import process | |
| def get_portfolio_names(portfolio_df): | |
| """ | |
| Get all unique names from the portfolio dataframe's player columns. | |
| Args: | |
| portfolio_df: DataFrame containing portfolio data | |
| Returns: | |
| list: List of unique player names | |
| """ | |
| # Get columns that contain player names (excluding non-player columns) | |
| player_columns = [col for col in portfolio_df.columns | |
| if col not in ['salary', 'median', 'Own']] | |
| # Get all unique values from these columns | |
| unique_names = portfolio_df[player_columns].values.flatten() | |
| unique_names = pd.unique(unique_names) # Remove duplicates | |
| unique_names = unique_names[~pd.isna(unique_names)] # Remove any NaN values | |
| return list(unique_names) |