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 a
e b
e um contendo as colunas c
, d
e 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/… )