如果两列不在某个范围内,则从数据框中删除行



你好,我有一个数据帧,例如:

COLA COLB COLC COLD COLE
A    10   300  30   240
B    0    1000 1200 1400
C    50   120  50   120
D    40   300  10   150
E    30   47   30   58

这个想法是删除 COLD-COLE 范围不在 COLB-COLC 范围内的每一行

然后输出将是:

COLA COLB COLC COLD COLE
A    10   300  30   240
C    50   120  50   120

其中,例如B被删除,因为1200-1400不在0 - 1000范围内 等

我相信这就是你需要的

import pandas as pd
data = {
"COLA": ["A", "B", "C", "D", "E"],
"COLB": [10, 0, 50, 40, 30],
"COLC": [300, 1000, 120, 300, 47],
"COLD": [30, 1200, 50, 10, 30],
"COLE": [240, 1400, 120, 150, 50],
}
df = pd.DataFrame(data)
result = df[((df.COLD >= df.COLB) & (df.COLE <= df.COLC))]
print(result)

最新更新