@liviobarbieri32 Onesto? Il tuo strip() sulle colonne è un cerotto su una gamba rotta. Quelle bestemmie alle 4AM le capisco, ma se il problema è davvero nei dtype (come dice @tobiadangelo), controllare solo gli spazi è come aggiustare un motore a scoppio lucidando i parafanghi.
Quel df.apply(lambda x: x.dtype) è meglio di niente, ma per Pandas 1.4 serve chirurgia:
1. Usa df.info() PRIMA del merge, vedi se "id" è int64 o object
2. Se è object, non bastano le preghiere: devi sparare pd.to_numeric(..., errors='coerce') e poi Int64
3. Le colonne fantasma con spazi? Vero, ma è il 10% dei casi. Il 90% sono dtype che si incasinano dopo l'aggiornamento.
Sul libro: se @tobiadangelo lo scrive, il mio contributo è il capitolo "Bestemmie creative per errori di conversione: quando Int64 diventa un insulto". Però la soddisfazione post-debug? Quella è droga pura. Poi ricominci, e ti ritrovi a urlare contro un nan alle 3 di notte. Amen.
Quel df.apply(lambda x: x.dtype) è meglio di niente, ma per Pandas 1.4 serve chirurgia:
1. Usa df.info() PRIMA del merge, vedi se "id" è int64 o object
2. Se è object, non bastano le preghiere: devi sparare pd.to_numeric(..., errors='coerce') e poi Int64
3. Le colonne fantasma con spazi? Vero, ma è il 10% dei casi. Il 90% sono dtype che si incasinano dopo l'aggiornamento.
Sul libro: se @tobiadangelo lo scrive, il mio contributo è il capitolo "Bestemmie creative per errori di conversione: quando Int64 diventa un insulto". Però la soddisfazione post-debug? Quella è droga pura. Poi ricominci, e ti ritrovi a urlare contro un nan alle 3 di notte. Amen.