我在数据帧中有两列,列\u 1和列\u 2如果都包含相同的值,则将其标记为1作为0
我试过这个,但它返回的大小1和内表,它包含大小416系列列表
splitsE = [(df.COLUMN_1.str.contains(' Each')) &
(df.COLUMN_2.str.contains(' EACH'))]
我甚至试过这个,但它没有地图
splitsE = [(df.COLUMN_1.str.contains(' Each')) &
(df.COLUMN_2.str.contains(' EACH'))]
splitsE = list(map(list, zip(*splitsE)))
df['CASE#'] = pd.Series(splitsE).map(({True:'1', False:'0'}))
如果我想更新df['CASE#'],其中包含/as 2而不是0
COLUMN_3 CASE#
25/PACK 0
EACH 1
100/BOTTLE 0
25/PACK 0
NaN 0
3/PACK 0
EACH 1
用途:
我认为最简单的方法是将布尔掩码转换为
True/False
到1/0
映射的整数:另一种解决方案是使用^{} :
或
map
已删除词典()
:编辑:对于另一个条件,请使用^{} :
如果我正确理解你的问题,以下是解决方法:
相关问题 更多 >
编程相关推荐