Avatar ·

Как удалить строки по разным условиям?

📁 python, numpy, pandas

Есть фрейм данных и мне нужно удалить из него строки, в которых значение столбца А более 50. Эта операция успешно выполняется кодом:

import pandas as pdimport numpy as npdf = pd.DataFrame([[256, 4, 24, 51], [24, 25, 34, 200], [300, 12, 45, 11],                   [34, 19, 2, 34], [75, 76, 19, 11], [42, 89, 29, 101], [54, 104, 11, 12]])df.rename({0: 'A', 1: 'B', 2: 'C', 3: 'D'}, axis=1, inplace=True)df_without_noise = df.drop(np.where(df['A'] > 250)[0])

и получается

    A    B   C    D1  24   25  34  2003  34   19   2   344  75   76  19   115  42   89  29  1016  54  104  11   12

Потом нужно удалить строки, в которых значения столбца В более 50. Я повторяю операцию, аналогичную первому удалению строк:

df_without_noise = df_without_noise.drop(np.where(df_without_noise['В'] > 50)[0])

но выводит ошибку:

KeyError: '[2] not found in axis'

При этом, в столбце В присутствуют значения более 50.

Как удалить строки с ними?

Должно получиться:

    A    B   C    D1  24   25  34  2003  34   19   2   34