Я загружаю некоторые данные машинного обучения из CSV-файла. Первые 2 столбца — это наблюдения, а остальные — признаки.
В настоящее время я делаю следующее:
data = pandas.read_csv('mydata.csv')
что дает что-то вроде:
data = pandas.DataFrame(np.random.rand(10,5), columns = list('abcde'))
Я хотел бы разделить этот кадр данных на два кадра данных: один, содержащий столбцы 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]