Search code examples
python-3.xtransformscalescaling

How to scale a data using Python 3


I am trying to scale my data using Python 3

But I keep getting this error: I am out of ideas as to what could be the issue? Please can you assist me guys? I would deeply appreciate your help!

import pandas as pd
import numpy as np
from numpy.random import randn

from pandas import Series, DataFrame
from pandas.plotting import scatter_matrix

import matplotlib as mpl
import matplotlib.pyplot as plt

from matplotlib import rcParams
from pylab import rcParams
import seaborn as sb

import scipy
from scipy import stats
from scipy.stats import pearsonr
from scipy.stats import spearmanr
from scipy.stats import chi2_contingency

import sklearn
from sklearn import preprocessing
from sklearn.preprocessing import scale

mtcars = pd.read_csv('mtcars.csv')
mtcars.columns = ['Car 
names','mpg','cyl','disp','hp','drat','wt','qsec','vs','am','gear','carb']

mpg = mtcars['mpg']

#Scale your data
mpg_matrix = mpg.reshape(-1,1)
scaled = preprocessing.MinMaxScaler()
scaled_mpg = scaled.fit_transform(mpg_matrix)
plt.plot(scaled_mpg)
plt.show()


    mpg_matrix = mpg.numpy.reshape(-1,1)                                            
tr__
  File "C:\Anaconda\lib\site-packages\pandas\core\generic.py", line 5067, in __getattr__
    return object.__getattribute__(self, name)
AttributeError: 'Series' object has no attribute 'numpy'

Solution

  • pandas.core.series.Series doesn't have reshape.

    Perhaps:

    mpg_matrix = mpg.values.reshape(-1,1)
    

    i.e. get the underlying numpy array and reshape that.