title: For loop with multiple IF conditions in Pandas
body: <p>I want to make for loop with the condition over columns in panda DataFrame:  </p>
  
  <pre><code>import numpy as np  
  import pandas as pd
  
  
  df=pd.DataFrame(pd.read_csv("data.csv"))  
  print df  
  
  DWWC1980     DWWC1985   DWWC1990  
  16.7140310  16.35661439 15.89201716  
  20.9414479  18.00822799 15.73516051  
  33.95022337 51.87065104 73.76376497  
  144.7000805 136.1462017 130.9143924  
  54.9506033  75.03339188 93.22994974  
  </code></pre>
  
  <p>For loop condition statement:</p>
  
  <pre><code>for i in range (1980,2015,5):
  
      if   any(df["DWWC"+str(i)] &lt;=18.25)  :
  
              df['MWTP'+str(i)]=(((10-33)/(5))*(df["DWWC"+str(i)]-5))+10  
  
      elif any((df["DWWC"+str(i)] &gt;  18.25) &amp;  (df["DWWC"+str(i)] &lt;= 36.5)) :
  
              df['MWTP'+str(i)]=((10/(df.two-df.three))*(df["DWWC"+str(i)]-df.three))+df.Three
  
      else :
              df['MWTP'+str(i)]=(((df.Three_value-6)/(df.three-5))*(df["DWWC"+str(i)]-6  
  
  df.to_csv('MWTP1.csv',index='ISO3')
  </code></pre>
  
  <p>But When I run this code and compare with manual calculation, I found that only the first condition calculation is correct and didn't go for the other conditions. (df.one, df.two, and df.three are other columns.)</p>
  
  <pre><code>  MWTP1980       MWTP1985         MWTP1990  
   25.87096095    30.72758886  37.04060109  
   -77.06996017   20.00112954      95.22533503  
   -290.1012655   -640.6304196    -1068.866556  
   -1845.172654   -1718.865351    -1641.61201  
   -1397.638671   -2171.737373    -2873.130596  
  </code></pre>