J'ai le code suivant: qui entraîne le tableau suivant P> col1 col2
0 SUPER_280 280
1 AASD 280
2 AASD 280
3 SUPER_350 350
4 AASD 350
5 SUPER_150 150
6 AASD 150
7 AASD 150
â````
Thanks in advance
4 Réponses :
Nous pouvons utiliser Nous pouvons également utiliser sortie strong> p> Série.str.contains code> pour vérifier où le mot super code> apparaît,
Alors gardez les 3 derniers caractères avec Série.where code> et remplissez le reste avec série.ffill : pd.to_numérique code> avec erreurs = 'coerce' code>
Pour transformer les 3 derniers caractères en numériques et remplir le reste avec série.fr code> p>
Nous pouvons utiliser ou en utilisant str.split code> + série.ffill code>: np.where Code> Pour vérifier conditionnellement si col1 code> a super code>: p>
valeur de test super code> par Series.str.Contains Code> , obtenez les 3 dernières valeurs de la colonne par indexation et remplissage vers l'avant Valeurs manquantes: m = df1['col1'].str.contains('SUPER')
df1.loc[m, 'col2'] = df1.loc[m, 'col1'].str[-3:]
df1['col2'] = df1['col2'].ffill()
print (df1)
col1 col2
0 SUPER_280 280
1 AASD 280
2 AASD 280
3 SUPER_350 350
4 AASD 350
5 SUPER_150 150
6 AASD 150
7 AASD 150
Il sépare l'expression en fonction du caractère _ code>, prend le dernier élément et l'attribue à col2 code> s'il est chiffre code> et attribue Aucun code> à col2 code> sinon. Ensuite, remplit avec rill code> en fonction de la valeur précédente.