Я загружаю некоторые данные машинного обучения из файла 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/… )