Cargo algunos datos de aprendizaje automático de un archivo CSV. Las primeras 2 columnas son observaciones y las columnas restantes son características.
Actualmente, hago lo siguiente:
data = pandas.read_csv('mydata.csv')
que da algo como:
data = pandas.DataFrame(np.random.rand(10,5), columns = list('abcde'))
Me gustaría cortar esta trama de datos en dos tramas de datos: una que contiene las columnas a
y b
y uno que contiene las columnas c
, d
ye
.
No es posible escribir algo como
observations = data[:'c']
features = data['c':]
No estoy seguro de cuál es el mejor método. ¿Necesito unpd.Panel
?
Por cierto, la indexación de marcos de datos me parece bastante inconsistente: data['a']
está permitido, pero data[0]
no lo está. Por otro lado, data['a':]
no está permitido pero sí data[0:]
. ¿Hay alguna razón práctica para esto? Esto es realmente confuso si las columnas son indexadas por Int, dado quedata[0] != data[0:1]
df[5:10]
se agregaron algunas comodidades, por ejemplo, para seleccionar filas ( pandas.pydata.org/pandas-docs/stable/… )