(Kullanıcı ID’lerini ve/veya "kod"ları veritabanında sayı yerine string olarak saklamanız daha uygun olabilir ondan emin değilim beni aşıyor. Dolayısıyla bu gönderi tam bir yanıt olmayabilir.)
Sorununuzun kaynağı df'in içerisinde KULLANICI ve KOD sütunlarında eksik/kayıp (missing) veri olması olabilir. Zira normalde tamsayı olarak addettiğiniz sütunun içerisinde bir tane bile kayıp veri varsa o kayıp değerler NaN olarak değerlendiriliyor pandas tarafından. NaN da küsuratlı sayı kapsamında olduğundan tüm sütunun tip birliğini sağlamak adına pandas verinin tipini tümden float’a çeviriyor.
kodlarının sonucunu paylaşabilir misiniz? İlki sütunlarda tutulan verilerin tiplerini söylüyor, ikincisi de ilgili sütunlardaki kayıp veri sayısını belirtiyor.
Bunu "düzeltme"nin bir yolu pandas’a sonradan gelen nullable integer type’ı kullanmak olabilir (tekrar edeyim veritabanı uzmanı değilim, gönderinin ilk cümlesini tekrar ederim):