Я хочу заменить диапазон значений для нескольких столбцов на NaN, исходя из условий значений диапазона для этого конкретного столбца.
Т.е.: предположим, у меня было [col1_min = 5, col1_max = 15]
, и [col2_min = 2, col2_max = 20]
, и столбцы выглядели какthis:
df = pd.DataFrame({'col1':[1,50,15,10,4], 'col2':[12,10,100,11,56]})
col1 col2
1 12
50 10
15 100
10 11
4 56
Желаемый результат будет:
df_filtered
col1 col2
nan 12
nan 10
15 nan
10 11
4 nan
Псевдокод, который я мог бы сделать, это groupby
каждый столбец в пределах границы, используя 'df.groupby (' col1 'или'col2') 'и затем отфильтруйте каждый столбец, затем объедините его с оригиналом, но я бы хотел свести к минимуму стоимость памяти.
Есть ли способ сделать это легко?