title: How to use .loc with multiple conditions and groupby
body: <p>I have a df thats grouped by 'Key'. I want to flag any row within a group where the discharge date matches another discharge date AND between those rows one of rows has a num1 value in the range of 5-12. Similar question found <a href="https://stackoverflow.com/questions/49143786/how-to-use-loc-to-flag-a-new-column-with-groupby-pandas/49143814?noredirect=1#comment85293081_49143814">here</a>, but didn't realize the complexity for having multiple conditions. </p>
  
  <pre><code>df =  pd.DataFrame({'Key': ['10003', '10003', '10003', '10003', '10003','10003','10034', '10034'], 
         'Num1': [12,13,13,13,12,13,16,13],
         'Num2': [121,122,122,124,125,126,127,128],
        'admit': [20120506, 20120508, 20121010,20121010,20121010,20121110,20120516,20120520],
    'discharge': [20120508, 20120508, 20121012,20121016,20121023,20121111,20120520,20120520]})
  df['admit'] = pd.to_datetime(df['admit'], format='%Y%m%d')
  df['discharge'] = pd.to_datetime(df['discharge'], format='%Y%m%d')
  </code></pre>
  
  <p>initial df:</p>
  
  <pre><code>    Key     Num1    Num2    admit       discharge
  0   10003   12      121     2012-05-06  2012-05-08
  1   10003   13      122     2012-05-08  2012-05-08
  2   10003   13      122     2012-10-10  2012-10-12
  3   10003   13      124     2012-10-10  2012-10-16
  4   10003   12      125     2012-10-10  2012-10-23
  5   10003   13      126     2012-11-10  2012-11-11
  6   10034   16      127     2012-05-16  2012-05-20
  7   10034   13      128     2012-05-20  2012-05-20
  </code></pre>
  
  <p>final df</p>
  
  <pre><code>    Key     Num1    Num2    admit       discharge   flag
  0   10003   12      121     2012-05-06  2012-05-08  1
  1   10003   13      122     2012-05-08  2012-05-08  1
  2   10003   13      122     2012-10-10  2012-10-12  0
  3   10003   13      124     2012-10-10  2012-10-16  0
  4   10003   12      125     2012-10-10  2012-10-23  0
  5   10003   13      126     2012-11-10  2012-11-11  0
  6   10034   16      127     2012-05-16  2012-05-20  0
  7   10034   13      128     2012-05-20  2012-05-20  0
  
  num1_range = [5,6,7,8,9,10,11,12]
  df.loc[df.groupby('Key').apply(lambda x : x.duplicated(subset='discharge',keep=False)).values,'flag']=1
  </code></pre>