Trying to find Total Sales & Total Cost of 3 different Countries cars

Question:

Update: Below is the excel file link.

I am brand new to Python and was doing this graph but I am stuck, I am trying to show a horizontal bar graph with 3 different countries, spain, germany, switzerland and trying to show the the total sales and total costs. I keep getting an error but not sure If my formula is correct If you could please take a look.

Error I get is below. If someone could please assist!

line 33
total.plot(‘CountryMake’, [‘Total Sales Price’, ‘Total Cost Price’], kind=’barh’)
^
SyntaxError: invalid syntax

import pandas as pd

sales= pd.read_excel('Simplified Car Sales Data.xlsx')

spa= sales[sales['CountryName'] == 'Spain']

spa_totals = spa.sum(axis=0, numeric_only = True)
spa_count = spa.count(axis=0)

spa_total_sale_price = round(spa_totals) ['SalePrice']
spa_total_cost_price = round(spa_totals) ['CostPrice']

swi= sales[sales['CountryName'] == 'Switzerland']

swi_totals = spa.sum(axis=0, numeric_only = True)
swi_count = spa.count(axis=0)

swi_total_sale_price = round(swi_totals) ['SalePrice']
swi_total_cost_price = round(swi_totals) ['CostPrice']

ger= sales[sales['CountryName'] == 'Germany']

ger_totals = ger.sum(axis=0, numeric_only = True)
ger_count = ger.count(axis=0)

ger_total_sale_price = round(ger_totals) ['SalePrice']
ger_total_cost_price = round(ger_totals) ['CostPrice']

totals = pd.DataFrame([('Spain',spa_tot_sale_price, spa_tot_cost_price),
                         ('Switzerland', swi_tot_sale_price,swi_tot_cost_price),
                         ('Germany', ger_tot_sale_price,ger_tot_cost_price),
                     columns ['CountryName', 'Total Sales Price', 'Total Cost Price']
total.plot('CountryMake', ['Total Sales Price', 'Total Cost Price'], kind='barh')


Error I get is below. If someone could please assist!

File "C:UsersdanacAppDataLocalTempipykernel_166162535154149.py", line 33
    total.plot('CountryMake', ['Total Sales Price', 'Total Cost Price'], kind='barh')
    ^
SyntaxError: invalid syntax

Asked By: Erica

||

Answers:

I don’t think that you defined total in this part of the code. So, you may need to do totals.plot. You also didn’t close the brackets.

import pandas as pd
import matplotlib.pyplot as plt

sales= pd.read_excel('Simplified Car Sales Data.xlsx')

spa= sales[sales['CountryName'] == 'Spain']

spa_totals = spa.sum(axis=0, numeric_only = True)
spa_count = spa.count(axis=0)

spa_total_sale_price = round(spa_totals) ['SalePrice']
spa_total_cost_price = round(spa_totals) ['CostPrice']

swi= sales[sales['CountryName'] == 'Switzerland']

swi_totals = spa.sum(axis=0, numeric_only = True)
swi_count = spa.count(axis=0)

swi_total_sale_price = round(swi_totals) ['SalePrice']
swi_total_cost_price = round(swi_totals) ['CostPrice']

ger= sales[sales['CountryName'] == 'Germany']

ger_totals = ger.sum(axis=0, numeric_only = True)
ger_count = ger.count(axis=0)

ger_total_sale_price = round(ger_totals) ['SalePrice']
ger_total_cost_price = round(ger_totals) ['CostPrice']

totals = pd.DataFrame([('Spain',spa_total_sale_price, spa_total_cost_price),
                         ('Switzerland', swi_total_sale_price,swi_total_cost_price),
                         ('Germany', ger_total_sale_price,ger_total_cost_price)],
                     columns=['CountryName', 'Total Sales Price', 'Total Cost Price'])
totals.plot('CountryName', ['Total Sales Price', 'Total Cost Price'], kind='barh')
plt.show()

This should work, although I don’t guarantee given that I don’t have your data.
P.S.
Try to use IDEs. It will be easier that way

Answered By: Thoughtful_monkey
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.