我试图设置" FreeSec"的值。我的pandas数据帧的已过滤行的True
列。这是代码:
data[data["Brand"].isin(group_clients)].FreeSec = True
但是,当我检查值时,它们仍然设置为False
。
>>> data[data["Brand"].isin(group_clients)].FreeSec
12 False
163 False
164 False
165 False
166 False
167 False
168 False
169 False
我在这里缺少什么?
答案 0 :(得分:14)
您应该使用loc来执行而不进行链接,这将使该任务有效:
data.loc[data["Brand"].isin(group_clients), "FreeSec"] = True
重写了loc中的赋值,以便实际上a view or a copy的实现细节无关紧要,如果你链接就这么重要,所以要避免/小心。
答案 1 :(得分:2)
它以其他方式运作:
data["FreeSec"][data["Brand"].isin(group_clients)] = True
我不是熊猫的专家,所以必须检查它为什么会像这样工作。