You can use the .style.format method to apply formatting. For dollar amounts, you can specify the format using Python’s string formatting options.
import pandas as pd
import streamlit as st
# Example DataFrame
data = {
'Investment': ['Project A', 'Project B'],
'Amount': [1500.5, 2500.75],
'Year': [2024, 2023]
}
df = pd.DataFrame(data)
# Filter logic (placeholder for your filters)
FilterInvestment = ['Project A', 'Project B']
FilterLastName = 'Doe' # Example filter condition
# Filtered DataFrame (adjust according to your actual filtering logic)
filtered_df = df.loc[df['Investment'].isin(FilterInvestment)]
# Formatting
styled_df = filtered_df.style.format({
'Amount': '${:,.2f}', # Format as dollar amount with two decimal places
}).format({
'Year': lambda x: f"{x:.0f}" # Remove commas from years (treated as float/int)
})
# Display styled DataFrame in Streamlit
st.table(styled_df)
Note: To remove commas from years, you’ll have to ensure they’re treated as integers or strings without formatting applied.
Kind Regards,
Sahir Maharaj
Data Scientist | AI Engineer