Это вновь сформулированное версия моего вопроса, который мы надеемся, имеет смысл:панды подпорных индекс столбца при использовании usecols
При использовании read_csv
с неявной индексом (т.е. первый столбец в файле не имеет заголовок), все работает, и я получаю dataframe, индекс которого является первым столбцом в файле - неявным столбцом индекса.
Однако, если указать usecols
в качестве аргумента read_csv
, неявный индекс столбца игнорируется, и возвращается dataframe имеет стандартный индекс, созданный панд (0, 1, 2, 3 и т.д.).
Я не могу явно передать индексный столбец в списке для usecols
, а затем указать аргумент index_col
, потому что неявный индексный столбец не имеет заголовка (так как панды знают, что это неявный индекс)!
Есть ли способ обойти это?
Вот оригинальный вопрос:
Я пытаюсь прочитать файл CSV, который имеет столбец строки индексов, которые не названы, остальные столбцы названы:
|head1|head2|
index1 | data1 | data2 |
Когда я читаю в определенном количестве столбцов с помощью usecols, я также хочу включить индексы строк. Однако, поскольку они не названы, я не могу включить строку в свой список для usecols.
Я попытался сделать комбинацию целочисленного индекса и строк (например usecols = [0, 'header1', 'header2']
, но это не похоже на работу.
Если я просто указать ind_col
как 0, он будет использовать первый столбец в моем выборе в качестве индекса колонка.
Итак, как можно прочитать в выборе столбца имени (через usecols), сохраняя при этом первый, безымянный, столбец в файле, как мой индекс строки?
Этот не проблема с разделителями, но с индексом, не имеющим заголовок. Скажем, я просто хотел импортировать столбец «head2», но сохранил индексный столбец как индекс в моей результирующей серии. Я могу сделать: pd.read_csv ('foo.csv', usecols = [0, 2], index_col [0]), но если я знаю только заголовки столбцов (а не позицию), я не могу: pd.read_csv ('foo.csv', usecols = [0, 'head2'], index_col [0]) – jramm