2024-09-30 20:19:18 发布
网友
我试图为pandas数据帧的过滤行设置“FreeSec”列的值为True。代码如下:
True
data[data["Brand"].isin(group_clients)].FreeSec = True
但是,当我检查这些值时,它们仍然被设置为False。在
False
我错过了什么?在
它的工作方式与此相反:
data["FreeSec"][data["Brand"].isin(group_clients)] = True
我不是熊猫方面的专家,所以得检查一下它为什么会这样工作。在
您应该使用loc在不链接的情况下执行此操作,这将保证分配有效:
data.loc[data["Brand"].isin(group_clients), "FreeSec"] = True
loc中的赋值被重写,因此它是否实际是a view or a copy的实现细节并不重要,如果你这样链接,那么就要避免/非常小心。
它的工作方式与此相反:
我不是熊猫方面的专家,所以得检查一下它为什么会这样工作。在
您应该使用loc在不链接的情况下执行此操作,这将保证分配有效:
loc中的赋值被重写,因此它是否实际是a view or a copy的实现细节并不重要,如果你这样链接,那么就要避免/非常小心。
相关问题 更多 >
编程相关推荐