J'ai une trame de données python dans laquelle une colonne est nommée Country; dans cette colonne, dans une certaine ligne (je ne sais pas laquelle), la cellule contient le nom Italie . Dans la même colonne, dans une autre ligne (je ne sais pas où), la cellule contient le nom San Marino . Je veux juste changer le nom San Marino par le nom Italy (pour que j'en ai deux Italy dans la colonne Country ).

C'est sûrement une question de base, mais bon, je ne sais pas comment faire cette chose simple en Python ... Pourriez-vous m'aider avec le code à utiliser?

0
Andrew 18 avril 2020 à 15:59

3 réponses

Meilleure réponse

Vous pouvez utiliser Series.str.replace pour remplacer les occurrences de San Marino par Italy.

Utilisation:

df["Country"] = df["Country"].str.replace("San Marino", "Italy")

Pour créer une copie de l'original df:

df_copy = df.copy()
df_copy["Country"] = df_copy["Country"].str.replace("San Marino", "Italy")
0
Shubham Sharma 18 avril 2020 à 15:11
df["Country"][df.Country == 'San Marino'] = 'Italy'
0
david 18 avril 2020 à 13:15

En supposant qu'il s'agit d'un pandas.DataFrame et que votre DataFrame s'appelle df, vous pouvez utiliser

df.loc[df['Country'] == 'San Marino', 'Country'] = 'Italy'

Exemple:

>>> df = pd.DataFrame({'Country': ['Italy', 'Norway', 'San Marino']})
>>> print(df)
      Country
0       Italy
1      Norway
2  San Marino

>>> df.loc[df['Country'] == 'San Marino', 'Country'] = 'Italy'
>>> print(df)
  Country
0   Italy
1  Norway
2   Italy
0
Erik André 18 avril 2020 à 13:09