title: Set values on the diagonal of pandas.DataFrame
body: <p>I have a pandas dataframe I would like to se the diagonal to 0</p>
  
  <pre><code>import numpy
  import pandas
  
  df = pandas.DataFrame(numpy.random.rand(5,5))
  df
  
  Out[6]:
       0           1           2           3               4
  0    0.536596    0.674319    0.032815    0.908086    0.215334
  1    0.735022    0.954506    0.889162    0.711610    0.415118
  2    0.119985    0.979056    0.901891    0.687829    0.947549
  3    0.186921    0.899178    0.296294    0.521104    0.638924
  4    0.354053    0.060022    0.275224    0.635054    0.075738
  5 rows × 5 columns
  </code></pre>
  
  <p>now I want to set the diagonal to 0:</p>
  
  <pre><code>for i in range(len(df.index)):
      for j in range(len(df.columns)):
          if i==j:
              df.loc[i,j] = 0
  df
  Out[9]:
       0           1           2           3           4
  0    0.000000    0.674319    0.032815    0.908086    0.215334
  1    0.735022    0.000000    0.889162    0.711610    0.415118
  2    0.119985    0.979056    0.000000    0.687829    0.947549
  3    0.186921    0.899178    0.296294    0.000000    0.638924
  4    0.354053    0.060022    0.275224    0.635054    0.000000
  5 rows × 5 columns
  </code></pre>
  
  <p>but there must be a more pythonic way than that!?</p>