title: Why do we need three different ways to operating in pandas?
body: <p>Why do we need three ways for operating?</p>
  
  <p>(I use multiplication for examples)</p>
  
  <p>First way:</p>
  
  <pre><code>df['a'] * 5
  </code></pre>
  
  <p>Second way:</p>
  
  <pre><code>df['a'].mul(5)
  </code></pre>
  
  <p>Third way:</p>
  
  <pre><code>df['a'].__mul__(5)
  </code></pre>
  
  <p>Isn't just two enough, no need an <code>mul</code>, I was wondering can it be like normal ways, like a integer</p>
  
  <p>First way:</p>
  
  <pre><code>3 * 5
  </code></pre>
  
  <p>Second way:</p>
  
  <pre><code>(3).__mul__(5)
  </code></pre>
  
  <p>But in regular bases of an inetger:</p>
  
  <pre><code>(3).mul(5)
  </code></pre>
  
  <p>Would break.</p>
  
  <p>I am just curious, why do we need this much stuff in Pandas, it's same with addition, subtraction and division.</p>