使用loc与isin按双条件筛选行赋值失败求助
解决DataFrame列赋值失败的问题
你的代码里用了==比较运算符,这只会生成一组布尔值(用来判断对应位置是否等于'FL'),并不会把值写入DataFrame的PL_FL列。要完成赋值,需要把==替换成赋值运算符=。
修正后的代码:
size_types = ['small', 'micro'] pl_types = ['1', '11', '32'] df2.loc[(df2['SIZE'].isin(size_types)) & (df2['TYPE'].isin(pl_types)), 'PL_FL'] = 'FL'
执行这段代码后,满足SIZE属于size_types且TYPE属于pl_types的行,其PL_FL列会被赋值为'FL';如果PL_FL列原本不存在,Pandas会自动为DataFrame新增这一列。
内容的提问来源于stack exchange,提问作者S_Star
相关产品推荐
相关产品推荐

