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

时间:2020-05-18 22:14:22

标签: python pandas

您好,我有一个数据框,例如:

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范围内 等等

1 个答案:

答案 0 :(得分:1)

我相信这就是您所需要的

    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)