Criar máscara bool a partir dos resultados do filtro no Pandas [duplicado]
Esta pergunta já tem uma resposta aqui:
Selecionando com critérios complexos em pandas.DataFrame 3 respostasEu sei como criar uma máscara para filtrar um quadro de dados ao consultar uma única coluna:
import pandas as pd
import datetime
index = pd.date_range('2013-1-1',periods=100,freq='30Min')
data = pd.DataFrame(data=list(range(100)), columns=['value'], index=index)
data['value2'] = 'A'
data['value2'].loc[0:10] = 'B'
data
value value2
2013-01-01 00:00:00 0 B
2013-01-01 00:30:00 1 B
2013-01-01 01:00:00 2 B
2013-01-01 01:30:00 3 B
2013-01-01 02:00:00 4 B
2013-01-01 02:30:00 5 B
2013-01-01 03:00:00 6 B
Eu uso uma máscara simples aqui:
mask = data['value'] > 4
data[mask]
value value2
2013-01-01 02:30:00 5 B
2013-01-01 03:00:00 6 B
2013-01-01 03:30:00 7 B
2013-01-01 04:00:00 8 B
2013-01-01 04:30:00 9 B
2013-01-01 05:00:00 10 A
Minha pergunta é como criar uma máscara com várias colunas? Então, se eu fizer isso:
data[data['value2'] == 'A' ][data['value'] > 4]
Isso filtra como eu esperava, mas como criar uma máscara bool a partir disso, conforme meu outro exemplo? Eu forneci os dados de teste para isso, mas muitas vezes quero criar uma máscara em outros tipos de dados, por isso estou procurando por ponteiros.