Извлечение прерывистого набора строк в pandas - PullRequest
0 голосов
/ 22 апреля 2020

У меня есть pandas фрейм данных, содержащий 100 строк. Это выглядит примерно так:

id_number  Name Age Salary
00001       Alice 50 6.2234
00002       John  29 9.1
.
.
.
00098       Susan 36 11.58
00099       Remy  50 3.7
00100       Walter 50 5.52

Из этого кадра данных я хочу извлечь строки, соответствующие лицам, чьи ID-номера НЕ l ie между 11 и 20. Я хочу строки с 0 по 9 и 20 до 99.

df.iloc позволяет извлечь непрерывный набор строк, например, от 20 до 99, но не от 0 до 9 и от 20 до 99 в одном и том же go. Я также попытался df[(df['id_number'] >= 20) & (df['id_number'] < 10)], но он возвращает пустой фрейм данных.

Существует ли простой способ сделать это, не требующий двух отдельных операций извлечения и их объединения?

Ответы [ 2 ]

0 голосов
/ 22 апреля 2020

Это, кажется, работает (предложено @FarhoodET):

df[(df['id_number'] => 20) | (df['id_number'] < 10)]
0 голосов
/ 22 апреля 2020

индекс среза с отбрасыванием - это то, что вам нужно

, в этом случае мы нарезаем от 11 до 20

Данные

df=pd.Series(np.arange(1,101))
df

среза с отбрасыванием

df.drop(df.loc[11:20].index, inplace=True)
df
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...