Spaces:
Sleeping
Sleeping
import pandas as pd | |
import numpy as np | |
# Simulate loading data | |
print("Loading data...") | |
df = pd.read_csv(r"D:\01A-TRABAJO\PYTHON\DATASCIENCE\EJERCICIOS\final_project_space\Final_Project\df_clean.csv") | |
nombres_proveedores = pd.read_csv(r"D:\01A-TRABAJO\PYTHON\DATASCIENCE\EJERCICIOS\final_project_space\Final_Project\nombres_proveedores.csv", sep=';') | |
euros_proveedor = pd.read_csv(r"D:\01A-TRABAJO\PYTHON\DATASCIENCE\EJERCICIOS\final_project_space\Final_Project\euros_proveedor.csv", sep=',') | |
print("\nInitial data types:") | |
print(df.dtypes) | |
print(nombres_proveedores.dtypes) | |
print(euros_proveedor.dtypes) | |
# Convert columns to string | |
df['CLIENTE'] = df['CLIENTE'].astype(str) | |
nombres_proveedores['codigo'] = nombres_proveedores['codigo'].astype(str) | |
euros_proveedor['CLIENTE'] = euros_proveedor['CLIENTE'].astype(str) | |
print("\nData types after conversion:") | |
print(df.dtypes) | |
print(nombres_proveedores.dtypes) | |
print(euros_proveedor.dtypes) | |
# Convert numerical columns in euros_proveedor | |
for col in euros_proveedor.columns: | |
if col != 'CLIENTE': | |
euros_proveedor[col] = pd.to_numeric(euros_proveedor[col], errors='coerce') | |
print("\nData types in euros_proveedor after numeric conversion:") | |
print(euros_proveedor.dtypes) | |
# Simulate customer selection | |
customer_code = df['CLIENTE'].iloc[0] # Take the first customer as an example | |
print(f"\nAnalysis for customer: {customer_code}") | |
customer_data = df[df["CLIENTE"] == str(customer_code)] | |
customer_euros = euros_proveedor[euros_proveedor["CLIENTE"] == str(customer_code)] | |
print("\nCustomer data:") | |
print(customer_data) | |
print("\nCustomer euro data:") | |
print(customer_euros) | |
# Obtain percentage of units sold by manufacturer | |
all_manufacturers = customer_data.iloc[:, 1:].T | |
all_manufacturers.index = all_manufacturers.index.astype(str) | |
print("\nAll manufacturers:") | |
print(all_manufacturers) | |
print(all_manufacturers.dtypes) | |
# Get total sales by manufacturer | |
sales_data = customer_euros.iloc[:, 1:].T | |
sales_data.index = sales_data.index.astype(str) | |
print("\nSales data:") | |
print(sales_data) | |
print(sales_data.dtypes) | |
# Remove the 'CLIENTE' row before attempting to sort sales data | |
sales_data_filtered = sales_data.drop(index='CLIENTE') | |
# Ensure all values are numeric | |
sales_data_filtered = sales_data_filtered.apply(pd.to_numeric, errors='coerce') | |
# Attempt to sort the sales data after filtering | |
try: | |
print("\nAttempting to sort the sales data...") | |
top_sales = sales_data_filtered.sort_values(by=sales_data_filtered.columns[0], ascending=False).head(10) | |
print("Sorting successful:") | |
print(top_sales) | |
except Exception as e: | |
print(f"Error sorting: {str(e)}") | |
print("Values in the first column:") | |
print(sales_data_filtered[sales_data_filtered.columns[0]]) | |
print("Data types in the first column:") | |
print(sales_data_filtered[sales_data_filtered.columns[0]].apply(type)) | |
print("\nDebugging script completed.") | |