我有2行具有相同的名称,但列中的值不同。我想知道如何使用列值删除行之一

时间:2020-07-06 11:26:14

标签: python pandas

我尝试了drop(),但是它删除了两行。我什至尝试转置数据框,然后删除该列,但它同时删除了两个列。请注意,我不想使用行号来排除该行。我想使用其他某些列中的值删除其中一行。预先谢谢你!

purchase_1 = pd.Series({'Name': 'Chris',
                        'Item Purchased': 'Dog Food',
                        'Cost': 22.50})
purchase_2 = pd.Series({'Name': 'Kevyn',
                        'Item Purchased': 'Kitty Litter',
                        'Cost': 2.50})
purchase_3 = pd.Series({'Name': 'Vinod',
                        'Item Purchased': 'Bird Seed',
                        'Cost': 5.00})
purchase_4 = pd.Series({'Name': 'Vinod',
                        'Item Purchased': 'Dog Food',
                        'Cost': 5.00})
df1 = pd.DataFrame([purchase_1, purchase_2, purchase_3, purchase_4], index=['Store 1', 'Store 1', 'Store 2', 'Store 2'])

''' 
df::

         Name   Item Purchased  Cost
Store 1  Chris   Dog Food      22.5
Store 1  Kevyn   Kitty Litter   2.5
Store 2  Vinod   Bird Seed      5.0
Store 2  Vinod   Dog Food       5.0
'''

预期输出::

     One of the 'Store 1' rows deleted using values from some other column value like 'Dog Food' or 'Kitty Litter' or 22.5 or 2.5

1 个答案:

答案 0 :(得分:1)

这将返回所有在其“购买的商品”列中不包含“狗食”的行:

new_df = df[df["Item Purchased"] != "Dog Food"]