#python #pandas #indexing #rows
#python #pandas #индексирование #строки
Вопрос:
Всем доброго дня. Моя проблема в том, что я не могу получить строки (данные) между несколькими строками. У меня есть одна книга Excel с 21 листом. Каждая таблица на каждом листе с некоторыми различными изменениями. У таблиц нет заголовков (люди, которые это сделали — идиоты). Но в таблицах есть одинаковые значения в первом и втором столбцах. Итак, я получаю их индексы, но как получить строки между ними?
import pandas as pd
file_path = r"./files/menu.xlsx"
df = pd.read_excel(file_path)
xl = pd.ExcelFile(file_path).sheet_names
breakfast = df.loc[df['Unnamed: 0'] == 'breakfast'].index[0] # index is "5"
dinner = df.loc[df['Unnamed: 0'] == 'dinner'].index[0] # index is "14"
heads = df.iloc[[int(breakfast) - 1]]
Ответ №1:
Вы можете использовать диапазон start:end
в iloc()
операции для указания начального и конечного индексов. Помните, что начальный индекс включается в результат, а конечный индекс исключается:
rows_between = df.iloc[int(breakfast) 1:int(dinner)]