2017-04-02 8 views
1

Ich habe einen Pandas-Datenrahmen mit Bestellnummern, Artikeln und ob der Artikel zurückgegeben wurde oder nicht.Zellenwert aktualisieren, wenn separater Wert der Liste in Pandas entspricht

df = pd.DataFrame({'order_number': [1001, 1002, 1003, 1004], 
'item': ['table', 'chair', 'sofa', 'armchair'], 'returned': [0,0,0,0]}) 


     item order_number returned 
0  table   1001  0 
1  chair   1002  0 
2  sofa   1003  0 
3 armchair   1004  0 

Ich habe auch eine Liste mit Aufträgen, die zurückgegeben wurden:

lst = [1001, 1004] 

Ich bin nicht sicher, wie der returned Spaltenwert für das nur mit den Bestellnummern in der Liste dieser Zeilen zu ändern. Jede Hilfe wäre großartig!

Antwort

1

Sie isin Methode mit loc verwenden können, um die Elemente zu ändern:

# use isin method to create a logical series and use loc to modify return column at 
# corresponding rows 
df.loc[df.order_number.isin(lst), "returned"] = 1 

df 
#  item order_number returned 
#0 table   1001 1 
#1 chair   1002 0 
#2  sofa   1003 0 
#3 armchair   1004 1 
Verwandte Themen