Imposta il valore per una cella specifica in Pandas DataFrame utilizzando l'indice

Puneet Dobhal 30 gennaio 2023
  1. Impostare il valore per una cella particolare in Pandas DataFrame utilizzando il metodo pandas.dataframe.at
  2. Impostare il valore per una cella particolare in Pandas DataFrame utilizzando il metodo Dataframe.set_value()
  3. Impostare il valore per una cella particolare in Pandas DataFrame utilizzando il metodo Dataframe.loc
Imposta il valore per una cella specifica in Pandas DataFrame utilizzando l'indice

Pandas è un pacchetto python incentrato sui dati che rende l’analisi dei dati in Python facile e coerente. In questo articolo, esamineremo diversi metodi di accesso e impostazione dei valori per una particolare cella nella struttura dati DataFrame dei pandas utilizzando un indice.

Impostare il valore per una cella particolare in Pandas DataFrame utilizzando il metodo pandas.dataframe.at

Il metodo pandas.dataframe.at è usato principalmente quando abbiamo bisogno di impostare un singolo valore in 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))

Produzione:

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

Come puoi notare, durante l’accesso alla cella abbiamo specificato indice e colonna come .at[0, 'Col1'] tra cui il primo parametro è l’indice e il secondo è la colonna.

Se esci dalla colonna e specifichi solo l’indice, tutti i valori per quell’indice verranno modificati.

Impostare il valore per una cella particolare in Pandas DataFrame utilizzando il metodo Dataframe.set_value()

Un’altra alternativa è il metodo Dataframe.set_value(). È molto simile al metodo precedente e accede a un valore alla volta, ma con una leggera differenza di sintassi.

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))

Produzione:

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

Impostare il valore per una cella particolare in Pandas DataFrame utilizzando il metodo Dataframe.loc

Un altro metodo praticabile per impostare una cella particolare con una leggera differenza di sintassi è il metodo 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))

Produzione:

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

Tutti i metodi sopra menzionati nell’articolo sono modi convenienti per modificare o impostare una particolare cella in pandas DataFrame, con minime differenze nella sintassi e nelle specifiche.

Articolo correlato - Pandas DataFrame