Comment définir la valeur d'une cellule particulière dans Pandas DataFrame à l'aide de l'index

Puneet Dobhal 30 janvier 2023
  1. Définir la valeur d’une cellule particulière dans pandas DataFrame en utilisant la méthode pandas.dataframe.at
  2. Définir la valeur d’une cellule particulière dans pandas DataFrame en utilisant la méthode Dataframe.set_value()
  3. Définir la valeur d’une cellule particulière dans pandas DataFrame en utilisant la méthode Dataframe.loc
Comment définir la valeur d'une cellule particulière dans Pandas DataFrame à l'aide de l'index

Pandas est un package python centré sur les données qui rend l’analyse des donnéesen Python facile et cohérente. Dans cet article, nous examinerons différentes méthodes d’accès et de définition de valeurs pour une cellule particulière dans la structure de données pandas DataFrame à l’aide d’un index.

Définir la valeur d’une cellule particulière dans pandas DataFrame en utilisant la méthode pandas.dataframe.at

La méthode pandas.dataframe.at est principalement utilisée lorsque nous devons définir une seule valeur dans un DataFrame.

import pandas as pd

sample_df = pd.DataFrame(
    [[10, 20, 30], [11, 21, 31], [15, 25, 35]],
    index=[0, 1, 2],
    columns=["Col1", "Col2", "Col3"],
)

print "\nOriginal DataFrame"
print (pd.DataFrame(sample_df))
sample_df.at[0, "Col1"] = 99
sample_df.at[1, "Col2"] = 99
sample_df.at[2, "Col3"] = 99

print "\nModified DataFrame"
print (pd.DataFrame(sample_df))

Production:

Original DataFrame
   Col1  Col2  Col3
0    10    20    30
1    11    21    31
2    15    25    35

Modified DataFrame
   Col1  Col2  Col3
0    99    20    30
1    11    99    31
2    15    25    99

Comme vous le remarquerez peut-être, lors de l’accès à la cellule, nous avons spécifié l’index et la colonne comme .at[0, 'Col1'] parmi lesquels le premier paramètre est l’index et le second est la colonne.

Si vous quittez la colonne et spécifiez uniquement l’index, toutes les valeurs de cet index seront modifiées.

Définir la valeur d’une cellule particulière dans pandas DataFrame en utilisant la méthode Dataframe.set_value()

Une autre alternative est la méthode Dataframe.set_value(). Ceci est très similaire à la méthode précédente et accède à une valeur à la fois, mais avec une légère différence de syntaxe.

import pandas as pd

sample_df = pd.DataFrame(
    [[10, 20, 30], [11, 21, 31], [15, 25, 35]],
    index=[0, 1, 2],
    columns=["Col1", "Col2", "Col3"],
)

print "\nOriginal DataFrame"
print (pd.DataFrame(sample_df))

sample_df.set_value(0, "Col1", 99)
sample_df.set_value(1, "Col2", 99)
sample_df.set_value(2, "Col3", 99)

print "\nModified DataFrame"
print (pd.DataFrame(sample_df))

Production:

Original DataFrame
   Col1  Col2  Col3
0    10    20    30
1    11    21    31
2    15    25    35

Modified DataFrame
   Col1  Col2  Col3
0    99    20    30
1    11    99    31
2    15    25    99

Définir la valeur d’une cellule particulière dans pandas DataFrame en utilisant la méthode Dataframe.loc

Une autre méthode viable pour définir une cellule particulière avec une légère différence de syntaxe est la méthode dataframe.loc.

import pandas as pd

sample_df = pd.DataFrame(
    [[10, 20, 30], [11, 21, 31], [15, 25, 35]],
    index=[0, 1, 2],
    columns=["Col1", "Col2", "Col3"],
)

print "\nOriginal DataFrame"
print (pd.DataFrame(sample_df))

sample_df.loc[0, "Col3"] = 99
sample_df.loc[1, "Col2"] = 99
sample_df.loc[2, "Col1"] = 99

print "\nModified DataFrame"
print (pd.DataFrame(sample_df))

Production:

Original DataFrame
   Col1  Col2  Col3
0    10    20    30
1    11    21    31
2    15    25    35

Modified DataFrame
   Col1  Col2  Col3
0    10    20    99
1    11    99    31
2    99    25    35

Toutes les méthodes mentionnées ci-dessus dans l’article sont des moyens pratiques de modifier ou de définir une cellule particulière dans pandas DataFrame, avec des différences infimes de syntaxe et de spécification.

Article connexe - Pandas DataFrame