Formatting in Dataframes - HELP!

I’m facing difficulties formatting my streamlit dataframe

Tried the following - Result below

looking to make all of the dollar amounts to be the same format and justification
Looking to make the year without comma

Code

filtered_df = df.loc[df[‘Investment’].isin(FilterInvestment) & (df[‘LastName’] == FilterLastName)]
filtered_df.style
.format(precision=2, thousands=“”, decimal=“.”)
.format_index(str.upper, axis=1)

Hello @HarryMelamed,

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

P.S. Lets connect on LinkedIn!

➤ Want me to build your solution? Lets chat about how I can assist!
➤ Join my Medium community of 30k readers! Sharing my knowledge about data science and AI
➤ Website: https://sahirmaharaj.com
➤ Email: sahir@sahirmaharaj.com
➤ 100+ FREE Power BI Themes: Download Now

2 Likes

This is what you recommended