我有一个数据帧df_matching,当两列在某些值上使用异或运算符不匹配时,我想要得到它
虽然该代码有效:
df_matching.query('(group == "treatment" and landing_page != "new_page") or (group != "treatment" and landing_page == "new_page")')
此代码不会:
df_matching.query('(group == "treatment") ^ (landing_page == "new_page")')
虽然所有的搜索都表明python中的XOR运算符是“^”,我知道SQL中的XOR是XOR,但两者都不起作用。在df.query()中放置XOR的最佳方法是什么
正如您所指出的,python按位异或(
^
)在pandas查询中无效。看起来没有打包的pd.query()XOR函数为了补偿,我将使用2元素XOR的基本定义,即
( A | B ) & ~( A & B )
,并将条件设置为变量(稍微紧凑一些。)
相关问题 更多 >
编程相关推荐