3 votes

Remplacer le premier mot d'une colonne pandas

J'essaie de remplacer le premier mot d'une colonne (pandas DF) par "MS". J'ai lu plusieurs sources en ligne et je ne trouve pas ce que je cherche.

Comme le premier mot peut varier d'un bout à l'autre, je pensais utiliser un argument positionnel plutôt que l'argument régulier ci-dessous :

df['columnName'].replace(['old value'],'new value')

J'ai un extrait de code pour isoler le premier mot de la colonne, mais je ne sais pas comment mettre en œuvre la méthode .replace.

df['hardware']= df['hardware'].str.split(' ').str[0]

Echantillon df

Matériel informatique

Micro Software

Logiciel d'échantillonnage

Écran MS

Écran Xyx

Sortie souhaitée

Matériel informatique

Logiciel MS

Logiciel MS

Écran MS

Écran MS

Merci beaucoup !

4voto

Tim Biegeleisen Points 53335

Utilisez un remplacement par une expression rationnelle :

df['columnName'] = df['columnName'].str.replace(r'^\w+', 'MS')

Le motif regex ^\w+ correspondra au premier mot de la colonne.

0voto

Arthur G. Points 93

Avez-vous pensé à la méthode df.iloc ?

df.iloc[0, df.columns.get_loc('hardware')] = 'new value'

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X