title: How to normalize and calculate score in a dataframe with different scale
body: <p>Hello I have 10 features in columns and categories in rows.</p>
  <p>I want to calculate the overall Score taking into account that columns have different scales.
  How can I normalize each column?</p>
  <p>I also want to apply a weight for each feature to calculate the score:</p>
  <pre><code>import pandas as pd
  import numpy as np
  data = np.random.randint(100, size=(10,10))
  
  data_etude_score = pd.DataFrame(data=data,index=['category1','category2','category3','category4','category5','category6','category7','category8','category9','category10'],columns=['Feature1',
   'Feature2',
   'Feature3',
   'Feature4',
   'Feature5',
   'Feature6',
   'Feature7',
   'Feature8',
   'Feature9',
   'Feature10'])
  
  #here I change the 2d column &quot;feature2&quot; to render a column with a different scale:
  
  data_etude_score['Feature2'] = np.random.randint(1000,5000, size=len(data_etude_score))
  </code></pre>
  <p>Here's my dataframe where you can clearly see there that &quot;Feature 2&quot; have a different scale
  <a href="https://i.stack.imgur.com/oZQnr.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/oZQnr.png" alt="enter image description here" /></a></p>
  <p>the weights corresponding to each feature would be for example:</p>
  <pre><code>feature_names_weights = {
      'feature1'  :1.0,
      'feature2'  :4.0,
      'feature3'  :1.0,
      'feature4'  :2.0,
      'feature5'  :1.0,
      'feature6'  :3.0,
      'feature7'  :1.0,
      'feature8'  :1.0,
      'feature9'  :5.0,
      'feature10' :1.0,
  }
  </code></pre>