This is a common problem. The main reason is the lack of familiarity with numpy.
['Sex'] , .
from sklearn.preprocessing import LabelEncoder
enc = LabelEncoder()
label_encoder = enc.fit(p_train['Sex'])
print "Categorical classes:", label_encoder.classes_
integer_classes = label_encoder.transform(label_encoder.classes_)
print "Integer classes:", integer_classes
x_train = label_encoder.transform(p_train['Sex'])
x_test = label_encoder.transform(p_test['Sex'])
x_train = x_train[:,np.newaxis]
x_test = x_test[:,np.newaxis]
"" "" 0 1. , sclera , . Np.newaxis x_train (n_features,) (n_features, 1). .