You'll have to specify your conditions one way or another. You can create individual masks for each condition which you eventually reduce to a single one:
import seaborn.apionly as sns
import operator
import numpy as np
# Load a sample dataframe to play with
df = sns.load_dataset('iris')
# Define individual conditions as tuples
# ([column], [compare_function], [compare_value])
cond1 = ('sepal_length', operator.gt, 5)
cond2 = ('sepal_width', operator.lt, 2)
cond3 = ('species', operator.eq, 'virginica')
conditions = [cond1, cond2, cond3]
# Apply those conditions on the df, creating a list of 3 masks
masks = [fn(df[var], val) for var, fn, val in conditions]
# Reduce those 3 masks to one using logical OR
mask = np.logical_or.reduce(masks)
result = df.ix[mask]
When we compare this with the "hand-made" selection, we see they're the same:
result_manual = df[(df.sepal_length>5) | (df.sepal_width<2) | (df.species == 'virginica')]
result_manual.equals(result) # == True
df[list_of_cols] > some_valgives you a mask you can then use this mask on the original df:df[df[list_of_cols] > some_val]note that it must be a real list:df[['col1','col2'...]]and notdf['col1','col2',...]because the former is a list of column labels, the latter will be treated as a tuple and will raise a KeyError because it'll try to find a column named'col1','col2'