2017-09-01 3 views
0

J'ai un tableau qui indique les numéros de ligne que je voudrais marquer.Ecriture d'une ligne spécifique sur une base de données en utilisant des pandas

example_array = [3, 101, 505, 1020, 3500] 

l'intérieur d'une trame de données, j'ai un nom de colonne appelée df [ « indicateur »] et que pour marquer les lignes spécifiques de cette colonne comme indiqué dans le example_array avec une chaîne « problème ». Fondamentalement, sur la 3ème rangée de df ["indicateur"], 101ème rangée, et ainsi de suite, je voudrais marquer comme un problème.

Y a-t-il un moyen de le faire?

Répondre

1

Utiliser loc avec affectation; Passez le example_array comme l'indice de ligne et indicator comme index de colonne:

>>> df = pd.DataFrame({"indicator": [""]*5}) 
>>> df 
    indicator 
0   
1   
2   
3   
4   

>>> example_array = [0,3] 
>>> df.loc[example_array, "indicator"] = "problem" 

>>> df 
    indicator 
0 problem 
1   
2   
3 problem 
4   
+1

Voici comment je le ferais. Sinon, vous pouvez utiliser 'iloc' si l'index n'est pas numérique:' df.iloc [exemple_array, df.columns == "indicateur"] = "problème" ' – johnchase