Comment mettre à jour les valeurs dans une ligne spécifique dans un Python Pandas DataFrame?

Avec la belle méthodes d'indexation dans les Pandas je n'ai pas de problèmes lors de l'extraction des données de différentes façons. D'autre part, je suis encore confus sur la façon de modifier les données dans un DataFrame.

Dans le code suivant, j'ai deux DataFrames et mon objectif est de mettre à jour les valeurs dans une ligne spécifique dans la première df à partir des valeurs de la deuxième df. Comment puis-je y parvenir?

import pandas as pd
df = pd.DataFrame({'filename' :  ['test0.dat', 'test2.dat'], 
                                  'm': [12, 13], 'n' : [None, None]})
df2 = pd.DataFrame({'filename' :  'test2.dat', 'n':16}, index=[0])

# this overwrites the first row but we want to update the second
# df.update(df2)

# this does not update anything
df.loc[df.filename == 'test2.dat'].update(df2)

print(df)

donne

   filename   m     n
0  test0.dat  12  None
1  test2.dat  13  None

[2 rows x 3 columns]

mais comment puis-je obtenir ceci:

    filename   m     n
0  test0.dat  12  None
1  test2.dat  13  16

[2 rows x 3 columns]
InformationsquelleAutor Alexander | 2014-06-04