2017-04-02 16 views
1

注文番号、アイテム、およびアイテムが返されたかどうかを示すpandasデータフレームがあります。別の値がPandasのリストと一致する場合、セル値を更新

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

あなたがアイテムを変更するlocisinメソッドを使用することができます。

# 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 
関連する問題