Carico alcuni dati di apprendimento automatico da un file CSV. Le prime 2 colonne sono osservazioni e le restanti colonne sono caratteristiche.
Attualmente, faccio quanto segue:
data = pandas.read_csv('mydata.csv')
che dà qualcosa del tipo:
data = pandas.DataFrame(np.random.rand(10,5), columns = list('abcde'))
Mi piacerebbe tagliare questo dataframe in due dataframes: uno contenente le colonne a
ed b
e uno contenente le colonne c
, d
e e
.
Non è possibile scrivere qualcosa del genere
observations = data[:'c']
features = data['c':]
Non sono sicuro di quale sia il metodo migliore. Ho bisogno di un pd.Panel
?
A proposito, trovo che l'indicizzazione dei dataframe sia piuttosto incoerente: data['a']
è consentita, ma data[0]
non lo è. Dall'altro lato, data['a':]
non è permesso ma lo data[0:]
è. C'è una ragione pratica per questo? Questo è davvero confuso se le colonne sono indicizzate da Int, dato questodata[0] != data[0:1]
df[5:10]
sono stati aggiunti per la selezione di righe ( pandas.pydata.org/pandas-docs/stable/… )