列表与列比较和操作单元格

时间:2018-07-05 11:19:03

标签: python pandas

我有一个名为list_uid的列表,它都是整数。我想使用if和for循环将其与名为“ UID”的工作表列进行比较。如果为真,则在工作表的“已完成?”列中将更新为“ Y”。我该怎么做?我尝试了脚本,但事实证明整个专栏都充满了“ Y”

for uid in list_uid:
    if uid in general['UID'].values:
        general['Complete'] = yes
    else:
        general['Complete'] = no

1 个答案:

答案 0 :(得分:0)

您可以将numpy.where与布尔掩码一起使用:

general['Complete'] = np.where(general['UID'].isin(list_uid), 'yes', 'no')

或者,您可以通过映射字典映射布尔序列:

d = {True: 'yes', False: 'no'}
general['Complete'] = general['UID'].isin(list_uid).map(d)