如何根据数据框中的行值和列值删除行?

时间:2021-04-17 06:20:36

标签: python pandas

我有一个包含客房服务详细信息的数据框,如下所示:

df = pd.DataFrame({"Trade":["003K", "003M1", "003M2", "003M1", "003M2", "003M1", "004K", "004M1", "004M1", "010M2", "010M1", "014K", "014M1", "014M2", "023K", "023M2"],
             "Room":["abc18", "abc18", "abc18", "abc10", "abc10", "abc10", "abc67", "abc67", "abc79", "abc32", "abc34", "abc1", "abc1", "abc1", "abc4", "abc4"],
             "Number":[99,99,99,85,85,59,26,26,26,92,56,38,38,38,67,67],
             "Open":["C", "C", "C", "G", "G", "G", "K", "K", "K", "RK", "T", "D", "D", "D", "J", "J"],
             "Exit":["A", "A", "A", "A", "A", "A", "R", "R", "R", "HT", "M", "J", "J", "J", "K", "K"]})

如下所示:df

    Trade   Room    Number  Open    Exit
0   003K    abc18   99      C       A
1   003M1   abc18   99      C       A
2   003M2   abc18   99      C       A
3   003M1   abc10   85      G       A
4   003M2   abc10   85      G       A
5   003M1   abc10   59      G       A
6   004K    abc67   26      K       R
7   004M1   abc67   26      K       R
8   004M1   abc79   26      K       R
9   010M2   abc32   92      RK      HT
10  010M1   abc34   56      T       M
11  014K    abc1    38      D       J
12  014M1   abc1    38      D       J
13  014M2   abc1    38      D       J
14  023K    abc4    67      J       K
15  023M2   abc4    67      J       K

当包含特定 K ID 的列与 M1 or M2 或两者都与其他列匹配时,我想删除。即,如果所有列都与特定 id 匹配,则将其删除。预期输出为:

    Trade   Room    Number  Open    Exit
0   003M1   abc10   85      G       A
1   003M2   abc10   85      G       A
2   003M1   abc10   59      G       A
3   004M1   abc79   26      K       R
4   010M2   abc32   92      RK      HT
5   010M1   abc34   56      T       M

0 个答案:

没有答案
相关问题