2017-04-02 45 views
1

我有一個熊貓數據框,其中包含訂單號,項目以及是否返回項目。如果單獨的值匹配熊貓中的列表,則更新單元格值

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 

我也有訂單列表已返回:

lst = [1001, 1004] 

我不知道如何與順序編號列表中的改變只有那些行returned列值。任何幫助將是偉大的!

回答

1

您可以使用isinloc修改項目:

# 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 
相關問題