J'ai une trame de données comme ci-dessous datetime vnum seq 1 11-03-2021 22:05 APD 202613 867 2 11-03-2021 22:08 AHD 152425 869 3 11-03-2021 22:10 4 11-03-2021 22:12 5 11-03-2021 22:15 APD 202647 875 6 ...

1
user_v27 15 mars 2021 à 11:11

1 réponse

Meilleure réponse

Remplacez d'abord dans toutes les colonnes x00 par des chaînes vides, puis utilisez votre solution:

df = df.replace('\x00', '', regex=True) 

#for replace space or empty strings
df['vnum'] = df['vnum'].replace([' ', ''], 'XXX 000000')
#for replace empty strings or one, two  to n spaces only
df['vnum'] = df['vnum'].replace('^\s*$', 'XXX 000000', regex=True)
df['seq'] = df['seq'].astype(str).str.zfill(4)
1
jezrael 15 mars 2021 à 08:28