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) |