Crosstabs in Python

Find below a Python programme that shows a crosstab whereby continuous variables are translated into classes:

import pandas as pd
import sqlalchemy as sa
import matplotlib.pyplot as plt
import numpy as np

table_name = 'MIGRATED_DIVORCE_SETTLEMENT__C'

connection_string = "DRIVER={ODBC Driver 17 for SQL Server};SERVER=DESKTOP-8J58OIP\MSSQLSERVER_19;DATABASE=Speel;UID=sa;PWD=**"
connection_url = sa.engine.URL.create("mssql+pyodbc", query={"odbc_connect": connection_string})
engine = sa.engine.create_engine(connection_url)
with engine.begin() as conn:
    df = pd.read_sql_query(sa.text("SELECT * FROM Rapportage." + table_name), conn)

onderzoek = df[['Person_ID_1__c','Person_ID_2__c']].apply(pd.to_numeric).dropna()
onderzoek['Person_ID_1__c_afgerond'] = (round(onderzoek['Person_ID_1__c'] / 2500000)*2500000)
onderzoek['Person_ID_2__c_afgerond'] = (round(onderzoek['Person_ID_2__c'] / 2500000)*2500000)

ct = pd.crosstab(onderzoek['Person_ID_1__c_afgerond'], onderzoek['Person_ID_2__c_afgerond']).to_excel(r"C:\Users\tomva\SynologyDrive\python\pandas\Incomplete\output.xlsx")  

print('**********programma beindigd****')

The output looks like:

Door tom