我有一个带有订单号,物品以及是否退货的熊猫数据框。

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列值。任何帮助将是巨大的!

最佳答案

您可以将isin方法与loc一起使用以修改项目:

# 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

关于python - 如果单独的值与Pandas中的列表匹配,则更新单元格值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43163994/

10-12 16:39