Je charge des données d'apprentissage automatique à partir d'un fichier CSV. Les 2 premières colonnes sont des observations et les colonnes restantes sont des caractéristiques.
Actuellement, je fais ce qui suit:
data = pandas.read_csv('mydata.csv')
ce qui donne quelque chose comme:
data = pandas.DataFrame(np.random.rand(10,5), columns = list('abcde'))
Je voudrais découper cette trame de données en deux trames de données: une contenant les colonnes a
et b
et l'autre contenant les colonnes c
, d
et e
.
Il n'est pas possible d'écrire quelque chose comme
observations = data[:'c']
features = data['c':]
Je ne sais pas quelle est la meilleure méthode. Ai-je besoin d'un pd.Panel
?
Soit dit en passant, je trouve que l'indexation des trames de données est assez incohérente: data['a']
est autorisée, mais data[0]
ne l'est pas. De l'autre côté, data['a':]
n'est pas autorisé mais l' data[0:]
est. Y a-t-il une raison pratique à cela? C'est vraiment déroutant si les colonnes sont indexées par Int, étant donné quedata[0] != data[0:1]
df[5:10]
ont été ajoutées pour sélectionner des lignes ( pandas.pydata.org/pandas-docs/stable/… )