title: ValueError: Found array with 0 feature(s) (shape=(546, 0)) while a minimum of 1 is required
body: <p>I was just trying out for DataPreprocessing where I frequently get this error.Can anyone explain me what is wrong in this particular code for the given dataset?</p>
  
  <p>Thanks in advance!</p>
  
  <pre><code># STEP 1: IMPORTING THE LIBARIES
  
  import numpy as np
  import pandas as pd
  
  # STEP 2: IMPORTING THE DATASET
  dataset = pd.read_csv("https://github.com/Avik-Jain/100-Days-Of-ML-Code/blob/master/datasets/Data.csv", error_bad_lines=False)
  
  X = dataset.iloc[:,:-1].values  
  Y = dataset.iloc[:,1:3].values
  
  # STEP 3: HANDLING THE MISSING VALUES
  from sklearn.preprocessing import Imputer
  
  imputer = Imputer(missing_values = "NaN",strategy = "mean",axis = 0)
  imputer = imputer.fit(X[ : , 1:3])
  X[:,1:3] = imputer.transform(X[:,1:3]) 
  
  # STEP 4: ENCODING CATEGPRICAL DATA
  from sklearn.preprocessing import LaberEncoder,OneHotEncoder
  labelencoder_X = LabelEncoder()  # Encode labels with value between 0 and n_classes-1.
  X[ : , 0] = labelencoder_X.fit_transform(X[ : , 0]) # All the rows and first columns
  
  onehotencoder = OneHotEncoder(categorical_features = [0])
  X = onehotencoder.fit_transform(X).toarray()
  
  labelencoder_Y = LabelEncoder()
  Y =  labelencoder_Y.fit_transform(Y)
  
  # Step 5: Splitting the datasets into training sets and Test sets
  
  from sklearn.cross_validation import train_test_split
  X_train, X_test, Y_train, Y_test = train_test_split( X , Y , test_size = 0.2, random_state = 0)
  
  # Step 6: Feature Scaling
  from sklearn.preprocessing import StandardScaler
  sc_X = StandardScaler()
  X_train = sc_X.fit_transform(X_train)
  X_test = sc_X.fit_transform(X_test)
  </code></pre>
  
  <p>Returns Error:   </p>
  
  <pre><code>ValueError: Found array with 0 feature(s) (shape=(546, 0)) while a minimum of 1 is required.
  </code></pre>