Carrego alguns dados de aprendizado de máquina de um arquivo CSV. As duas primeiras colunas são observações e as colunas restantes são recursos.
Atualmente, faço o seguinte:
data = pandas.read_csv('mydata.csv')
o que dá algo como:
data = pandas.DataFrame(np.random.rand(10,5), columns = list('abcde'))
Eu gostaria de cortar esta trama de dados em duas dataframes: um contendo as colunas ae be um contendo as colunas c, de e.
Não é possível escrever algo como
observations = data[:'c']
features = data['c':]
Não sei ao certo qual é o melhor método. Eu preciso de um pd.Panel?
A propósito, acho a indexação do quadro de dados bastante inconsistente: data['a']é permitido, mas data[0]não é. Por outro lado, data['a':]não é permitido, mas data[0:]é. Existe uma razão prática para isso? Isso é realmente confuso se as colunas são indexadas por Int, já quedata[0] != data[0:1]
df[5:10]foram adicionadas para a seleção de linhas ( pandas.pydata.org/pandas-docs/stable/… )