Advertisement
dollarortwo

firstTwoInsights

Nov 14th, 2018
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.14 KB | None | 0 0
  1. import pandas as pd
  2. import matplotlib.pyplot as plt
  3. xl = pd.ExcelFile("SalesDataFull.xlsx")
  4. OrdersOnlyData = xl.parse("Orders")
  5. lines = "="*25
  6.  
  7. while True:
  8. print("\nView Products by Month - press 1. View Product by Quarter - press 2.")
  9. user_decision = input("Which type of data would you like to access? ")
  10.  
  11. while user_decision == "":
  12. user_decision = input("Which type of data would you like to access? ")
  13.  
  14. if user_decision == "1":
  15. print()
  16. print("Profit by Month")
  17. print("View 10 Most Popular Products - press 1. View 10 Least Popular Products - press 2. ")
  18. month_choice = input("Which type of data do you like access to? ")
  19.  
  20. while month_choice == "":
  21. month_choice = input("Which type of data would you like to access? ")
  22.  
  23. if month_choice == "1":
  24. df_month = OrdersOnlyData["Order Date"].dt.month
  25. OrdersOnlyData["Month"] = df_month
  26. product_sales = OrdersOnlyData[["Product Name", "Month", "Profit"]]
  27. product_sales_sum = product_sales.groupby(by="Month" and "Product Name").sum().sort_values(by=["Profit"], ascending=False)
  28. product_sales_sum = product_sales.reset_index()
  29. print(product_sales_sum.head(10).round(2))
  30. plt.figure(figsize=(6, 6))
  31. plt.title("Profit by Month")
  32. plt.axis("equal")
  33. plt.pie(product_sales_sum.Profit, labels=product_sales_sum.Month)
  34. plt.show()
  35. exit_program = input("Exit Program? (Y/N): ")
  36. if exit_program.casefold() == "Y":
  37. print("Goodbye!")
  38. break
  39.  
  40. if month_choice == "2":
  41. df_month = OrdersOnlyData["Order Date"].dt.month
  42. OrdersOnlyData["Month"] = df_month
  43. product_sales = OrdersOnlyData["Product Name", "Month" "Profit"]
  44. product_sales_sum = product_sales.groupby(by="Month" and "Product Name").sum().sort_values(by=["Profit"], ascending=False)
  45. product_sales_sum = product_sales.reset_index()
  46. print(product_sales_sum.tail(10).round(2))
  47. year = input("Do you want to see data by the year? ")
  48. if year.casefold() == "y":
  49. orders2014 = OrdersOnlyData.loc[OrdersOnlyData["Order Date"] > "2014-01-01"]
  50. print(orders2014.head(10).round(2))
  51. exit_program = input("Exit Program? (Y/N): ")
  52. if exit_program.casefold() == "Y":
  53. print("Goodbye!")
  54. break
  55.  
  56. if user_decision == "2":
  57. print("Profit by Quarter.")
  58. quarter_choice = input("View 10 Most Popular Products - press 1. View 10 Least Popular Products - press 2.")
  59.  
  60. while quarter_choice == "":
  61. quarter_choice = input("View 10 Most Popular Products - press 1. View 10 Least Popular Products - press 2.")
  62.  
  63. if quarter_choice == "1":
  64. df_quarter = OrdersOnlyData["Order Data"].dt.quarter
  65. OrdersOnlyData["Quarter"] = df_quarter
  66. product_sales = OrdersOnlyData[["Product Name", "Quarter", "Profit"]]
  67. product_sales_sum = product_sales.groupby(by="Quarter" and "Product Name").sum().sort_values(by=["Profit"], ascending=False)
  68. product_sales_sum = product_sales.reset_index()
  69. print(product_sales_sum.head(10).round(2))
  70. exit_program = input("Exit Program? (Y/N): ")
  71. if exit_program.casefold() == "Y":
  72. print("Goodbye!")
  73. break
  74.  
  75. if quarter_choice == "2":
  76. df_quarter = OrdersOnlyData["Order Data"].dt.quarter
  77. OrdersOnlyData["Quarter"] = df_quarter
  78. product_sales = OrdersOnlyData["Product Name", "Quarter", "Profit"]
  79. product_sales_sum = product_sales.groupby(by="Quarter" and "Product Name").sum().sort_values(by=["Profit"], ascending=False)
  80. product_sales_sum = product_sales.reset_index()
  81. print(product_sales_sum.tail(10).round(2))
  82. exit_program = input("Exit Program? (Y/N): ")
  83. if exit_program.casefold() == "Y":
  84. print("Goodbye!")
  85. break
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement