我有两个专栏,如下所示。| 色谱柱A|B栏|| - ------|- ------|| 真的|假|| 真的|真的|| 假|真的|| 假|假|我想得到| 色谱柱A|B栏|C栏|D栏|| - ------|- ------|- ------|- ------|| 真的|假|真的|假|| 真的|真的|假|假|| 假|真的|假|真的|| 假|假|假|假|我尝试使用XOR运算符,但不知道如何使它只在特定列为真时返回真。
cpjpxq1n1#
XOR是错误的函数。您需要A AND NOT B和NOT A AND B。
A AND NOT B
NOT A AND B
df = pd.DataFrame({ 'A': [True, True, False, False], 'B': [False, True, True, False]}) df['C'] = df['A'] & ~df['B'] df['D'] = ~df['A'] & df['B'] df
A B C D 0 True False True False 1 True True False False 2 False True False True 3 False False False False
如果有帮助的话,这些操作被称为非蕴涵和逆非蕴涵,维基百科在这里有一个表格:Template:Logical connectives
1条答案
按热度按时间cpjpxq1n1#
XOR是错误的函数。您需要
A AND NOT B
和NOT A AND B
。如果有帮助的话,这些操作被称为非蕴涵和逆非蕴涵,维基百科在这里有一个表格:Template:Logical connectives