Панды выбирают определенные строки до и после определенной строки, которая соответствует моим критериям - PullRequest
0 голосов
/ 15 октября 2018

У меня есть датафрейм.где-нибудь в первом ряду есть уникальная ценность, которая будет соответствовать моим критериям.например, t = 800

Теперь я хочу найти строку, в которой находится это значение, и выбрать из n строк до n строк после него.

Я пытался:

idx = df[df['t']==stime]
from_idx = idx-1200
to_idx = idx + 1200
vib = df.iloc[to_idx:from_idx]

находит строку, соответствующую моим критериям, но я не могу выбрать правильный выбор из моего кадра данных

1 Ответ

0 голосов
/ 15 октября 2018

idx в вашей логике - это объект pd.DataFrame, а не скаляр, представляющий индекс для строки.Если вы извлекаете скалярный индекс, то, предполагая, что ваши индексы уникальны, вы можете использовать pd.Index.get_loc для получения целочисленного позиционного местоположения:

idx = df.index.get_loc(df[df['t'] == stime].index[0])
vib = df.iloc[idx - 1200: idx + 1200]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...