title: pandas select conditionally specific columns in dataframe with another condition results in concatenation
body: <p>I want to select specific columns by their name using loc, since i want to do it with another condition.
  I get weird behavior trying to achieve this using </p>
  
  <pre><code>df.loc[,conditionOne | conditionTwo]
  </code></pre>
  
  <p>one of the conditions is whether a column name is in a specific list of names, and the second condition is another condtion (here is the median of the column):</p>
  
  <pre><code>df = pd.DataFrame({'A' : [0,0,0,0], 'B' : [1,2,3, 5],  'C' : [10,20,30, 50]})
  df.columns.values
  keepColumnsNames = ['A', 'c']
  condtionOne = df.mean()&gt;2
  print(condtionOne)
  "#A    False"
  "#B     True"
  "#C     True"
  "#dtype: bool" 
  condtionTwo=pd.DataFrame(df.columns.values).iloc[:,0].isin(keepColumnsNames)
  print(condtionTwo)
  "#A    False"
  "#B     True"
  "#C     True"
  </code></pre>
  
  <p>Now when i want to do an or operator between the two conditions i get the next weird behavior:</p>
  
  <pre><code>print(condtionOne | condtionTwo )
  "#0    False"
  "#1    False"
  "#2    False"
  "#A    False"
  "#B     True"
  "#C     True"
  "#dtype: bool"
  </code></pre>
  
  <p>while I would expect to get</p>
  
  <pre><code>"#False"
  "#True"
  "#True"
  </code></pre>