我只是碰巧尝试了一下,我很困惑为什么Pandas系列认为偶数真 * 和奇数假 *。
data = {
"calories": [420,560, 235, 380, 390],
"duration": [50, 345, 123, 40, 45]
}
#load data into a DataFrame object:
df = pd.DataFrame(tdata)
print(df[df['calories'] & True])
字符串
返回
calories duration
2 235 123
型
这似乎不对。我认为所有非零值在Python中都是“truthy”的?
1条答案
按热度按时间xurqigkl1#
奇数的最后一位是1,偶数的最后一位是0。您正在对0b00.001(
True
)的数字进行逐位AND,它只会在数字为奇数时返回1,否则返回0。如果你想用
True
进行 * 比较 *,你需要使用一个比较运算符(例如==
)。