Ładuję niektóre dane uczenia maszynowego z pliku CSV. Pierwsze 2 kolumny to obserwacje, a pozostałe kolumny to cechy.
Obecnie wykonuję następujące czynności:
data = pandas.read_csv('mydata.csv')
co daje coś takiego:
data = pandas.DataFrame(np.random.rand(10,5), columns = list('abcde'))
Chciałbym ten dataframe pokroić w dwóch dataframes: jedna zawiera kolumny a
i b
jeden zawierający kolumny c
, d
i e
.
Nie można napisać czegoś takiego
observations = data[:'c']
features = data['c':]
Nie jestem pewien, jaka jest najlepsza metoda. Czy potrzebuję pd.Panel
?
Nawiasem mówiąc, uważam, że indeksowanie ramek danych jest dość niespójne: data['a']
jest dozwolone, ale data[0]
nie jest. Z drugiej strony data['a':]
nie jest dozwolone, ale data[0:]
jest. Czy jest tego praktyczny powód? Jest to naprawdę mylące, jeśli kolumny są indeksowane przez Int, biorąc pod uwagę todata[0] != data[0:1]
df[5:10]
dodano pewne udogodnienia, np. Dodano do wybierania wierszy ( pandas.pydata.org/pandas-docs/stable/… )