在Pandas中将奇数转换为布尔值

3

我想在pandas中转换一列:

A 
1
2
3
4

转换为另一列,将奇数转换为布尔值:
A is_odd
1 True
2 False
3 True
4 False

我在考虑使用以下代码,但它不起作用:

data["is_odd"] = not(bool(data["A"].mod(2)))

有什么想法吗?


5
将 DataFrame 数据框 df 中每个元素除以 2 并取余,然后将结果转换为布尔型数据。 - cs95
1个回答

5
df['is_odd'] = df['A'] % 2 == 1
print (df)
   A  is_odd
0  1    True
1  2   False
2  3    True
3  4   False

@cᴏʟᴅsᴘᴇᴇᴅ提供的相似解决方案:

df['is_odd'] = df['A'].mod(2).astype(bool)

或者:

df['is_odd'] = (df['A'] & 1).astype(bool)

是的,这个方法可行,谢谢!有没有办法使用mod()函数? - Victor
检查第二个解决方案。 - jezrael

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接