Как удалить две строки до и две строки после минимального значения столбца python - PullRequest
0 голосов
/ 19 апреля 2020

Я хочу удалить две строки до и две строки после минимума значения столбца, есть ли эффективный способ сделать это в pandas

df=pd.DataFrame({'A':[1,1,1,1,1,0.5,2,2,2,2,2,2,2]})

df_out=pd.DataFrame({'A':[1,1,1,0.5,2,2,2,2,2]})

Ответы [ 2 ]

3 голосов
/ 19 апреля 2020

IIU C

s=df.A.idxmin()
df=df.drop(set(range(s-2,s+3))-{s})
      A
0   1.0
1   1.0
2   1.0
5   0.5
8   2.0
9   2.0
10  2.0
11  2.0
12  2.0
0 голосов
/ 19 апреля 2020

На основании ответа @ YOBEN_S, но отбрасывает только существующие индексы:

df=pd.DataFrame({'A':[1,1,1,1,1,0.5,2,2,2,2,2,2,2]})

df_out=pd.DataFrame({'A':[1,1,1,0.5,2,2,2,2,2]})
min_idx=df.A.idxmin()
s1 = set(range(s-2,s+3))
s2 = set(df.index.tolist())
s1 = s1.intersection(s2)

df=df.drop(set(s1-{min_idx})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...