Заменить индекс DataFrame другим индексом из другого DataFrame

У меня есть два фрейма данных "nai_data" и "таблица", и я хочу использовать индексный столбец "nai_data" в качестве индекса для "таблицы". я пытался table.index = nai_data.index, Они имеют одинаковую длину, но проблема в том, что когда я загружаю "таблицу", она помещает одно из значений в качестве заголовка, и поэтому длины теперь не совпадают. Как я могу запретить пандам помещать это одно значение в заголовок? (Я читаю файл Excel, см. Ниже:) Я знаю, что это легко сделать при чтении текстового файла с header = None но есть ли эквивалент с pd.ExcelFile.parse?

Фрейм данных 'nai_data': Фрейм данных 'nai_data

Фрейм данных 'таблица':

введите описание изображения здесь

1 ответ

Решение

Вы можете использовать функцию read_excel с параметром header=None,

import pandas as pd

df = pd.read_excel('test.xlsx', header=None)
print df
#            0           1
#0        col1        col2
#1  10-05-2011  31-05-2011
#2  05-10-2011  14-12-2011

Функция pandas.ExcelFile.parse имеет параметр header=None тоже.

excel_file = pd.ExcelFile('test.xlsx')
table = excel_file.parse('Sheet1', header=None)
print table
#            0           1
#0        col1        col2
#1  10-05-2011  31-05-2011
#2  05-10-2011  14-12-2011

Вы можете использовать параметр skiprows тоже.

Другие вопросы по тегам