0

When I add a thousands separator, Python prints the number as scientific notation; but I want it to show the full number.

winter_s = (ls2016.loc[(ls2016.month == 12) | (ls2016.month == 1) | (ls2016.month == 2)]).index
spring_s = (ls2016.loc[(ls2016.month == 3) | (ls2016.month == 4) | (ls2016.month == 5)]).index
summer_s = (ls2016.loc[(ls2016.month == 6) | (ls2016.month == 7) | (ls2016.month == 8)]).index
autumn_s = (ls2016.loc[(ls2016.month == 9) | (ls2016.month == 10) | (ls2016.month == 11)]).index

# Winter Statistics
winter_df = ls2016.loc[winter_s] 
winter_df.groupby('month')['sales_dollar'].sum().round(0) # sum for each month in Winter season
winter_sum_sales = winter_df.groupby('month')['sales_dollar'].sum().sum().round(0) # total sum of Winter season

# Spring Statistics
spring_df = ls2016.iloc[spring_s]
spring_df.groupby('month')['sales_dollar'].sum().round(0) # sum for each month in Spring season
spring_sum_sales = spring_df.groupby('month')['sales_dollar'].sum().sum().round(0) # total sum of Spring season

# Summer Statistics
summer_df = ls2016.iloc[summer_s]
summer_df.groupby('month')['sales_dollar'].sum().round(0) # sum for each month in Summer season
summer_sum_sales = summer_df.groupby('month')['sales_dollar'].sum().sum().round(0) # total sum of Summer season

# Autumn Statistics
autumn_df = ls2016.iloc[autumn_s]
autumn_df.groupby('month')['sales_dollar'].sum().round(0) # sum for each month in Autumn season
autumn_sum_sales = autumn_df.groupby('month')['sales_dollar'].sum().sum().round(0) # total sum of Autumn season

I want the output to be like the output in this code: but with the thousands separator:

print('Winter Season / Q1:', winter_sum_sales, '$', '\nSpring Season / Q2:', spring_sum_sales, '$', '\nSummer Season / Q3:', summer_sum_sales, '$', 
      '\nAutumn Season / Q4:', autumn_sum_sales, '$', '\nTotal for 2016:', (winter_sum_sales + spring_sum_sales + summer_sum_sales + autumn_sum_sales), '$')

enter image description here

So I changed it to:

locale.setlocale(locale.LC_ALL, '')
print(f'Winter Season / Q1: {winter_sum_sales:n} $')
print(f'Spring Season / Q2:: {spring_sum_sales:n} $')
print(f'Summer Season / Q3: {summer_sum_sales:n} $')
print(f'Autumn Season / Q4: {autumn_sum_sales:n} $')
print(f'Total for 2016: {winter_sum_sales + spring_sum_sales + summer_sum_sales + autumn_sum_sales:n} $')

But now the output is this:

enter image description here

Mr. Polywhirl
  • 42,981
  • 12
  • 84
  • 132
  • Wouldn't you just change the `:n` portion to `:,`? Possible duplicate of [How to print a number using commas as thousands separators](https://stackoverflow.com/questions/1823058/how-to-print-a-number-using-commas-as-thousands-separators) – Mr. Polywhirl Apr 25 '23 at 15:25

0 Answers0