Я завантажую деякі дані машинного навчання з файлу CSV. Перші 2 стовпці - це спостереження, а решта стовпці - функції.
В даний час я роблю наступне:
data = pandas.read_csv('mydata.csv')
що дає щось на зразок:
data = pandas.DataFrame(np.random.rand(10,5), columns = list('abcde'))
Я хотів би, щоб нарізати це dataframe в двох dataframes: один , що містять стовпці a
і b
і один , що містять стовпці c
, d
і e
.
Неможливо написати щось подібне
observations = data[:'c']
features = data['c':]
Я не впевнений, який найкращий метод. Чи потрібно мені pd.Panel
?
До речі, я вважаю, що індексація фрейму даних є досить непослідовною: data['a']
це дозволено, але data[0]
це не так. З іншого боку, data['a':]
це не дозволено, але data[0:]
є. Чи є для цього практична причина? Це дуже заплутано, якщо колонки індексуються Int, враховуючи цеdata[0] != data[0:1]
df[5:10]
були додані для вибору рядків ( pandas.pydata.org/pandas-docs/stable/… )