sklearn amostragem estratificada com base em uma coluna

Eu tenho um arquivo CSV razoavelmente grande contendo dados de revisão da amazon que li em um quadro de dados do pandas. Quero dividir os dados 80-20 (teste de trem), mas, ao fazê-lo, quero garantir que os dados divididos estejam representando proporcionalmente os valores de uma coluna (Categorias), ou seja, todas as diferentes categorias de revisões estão presentes no trem e testar dados proporcionalmente.

Os dados são assim:

**ReviewerID**       **ReviewText**        **Categories**       **ProductId**

1212                   good product         Mobile               14444425
1233                   will buy again       drugs                324532
5432                   not recomended       dvd                  789654123 

Estou usando o seguinte código para fazer isso:

import pandas as pd
Meta = pd.read_csv('C:\\Users\\xyz\\Desktop\\WM Project\\Joined.csv')
import numpy as np
from sklearn.cross_validation import train_test_split

train, test = train_test_split(Meta.categories, test_size = 0.2, stratify=y)

dá o seguinte erro

NameError: name 'y' is not defined

Como sou relativamente novo em python, não consigo descobrir o que estou fazendo de errado ou se esse código estratificará com base nas categorias de colunas. Parece funcionar bem quando removo a opção estratificar, bem como a coluna de categorias da divisão de teste de trem.

Qualquer ajuda será apreciada.

questionAnswers(2)

yourAnswerToTheQuestion