Ich lade einige maschinelle Lerndaten aus einer CSV-Datei. Die ersten beiden Spalten sind Beobachtungen und die verbleibenden Spalten sind Merkmale.
Derzeit mache ich Folgendes:
data = pandas.read_csv('mydata.csv')
das gibt so etwas wie:
data = pandas.DataFrame(np.random.rand(10,5), columns = list('abcde'))
Ich mag diesen Datenrahmen in zwei Datenrahmen schneiden: eine mit den Spalten enthalten aund bund man die Spalten enthält c, dund e.
Es ist nicht möglich, so etwas zu schreiben
observations = data[:'c']
features = data['c':]
Ich bin mir nicht sicher, was die beste Methode ist. Benötige ich eine pd.Panel?
Übrigens finde ich die Indizierung von Datenrahmen ziemlich inkonsistent: data['a']ist erlaubt, aber data[0]nicht. Auf der anderen Seite data['a':]ist das nicht erlaubt aber data[0:]. Gibt es dafür einen praktischen Grund? Dies ist wirklich verwirrend, wenn Spalten von Int indiziert werdendata[0] != data[0:1]
df[5:10]hinzugefügt , z. B. zum Auswählen von Zeilen ( pandas.pydata.org/pandas-docs/stable/… )