此问题已在此处有答案:
Remove rows of dataframe contained in list (without using a loop)(5个答案)
13天前关闭
截至13天前,社区正在审查是否重新讨论这个问题。
如何过滤pandas DF的列连接?
举例来说:
import pandas as pd
data = {'product_name': ['laptop', 'laptop', 'printer', 'tablet', 'desk', 'chair', 'chair', 'chair'],
'price': [1200, 1000, 150, 300, 450, 200, 100, 120],
'color': ['white', 'black', 'white', 'black', 'brown', 'red', 'grey', 'black']
}
df = pd.DataFrame(data)
有一系列的条件:[('laptop', 'black'), ('chair', 'red'), ('chair', 'grey')]
如何过滤它以只返回符合这些条件的行?假设它是一个有很多列的大df,有成千上万的行和成千上万的条件。
1条答案
按热度按时间vlurs2pr1#
首先使用
product_name
和color
创建一个名为condition
的元组列:然后,只需检查此列中包含的元组是否匹配
list_of_conditions
中列出的任何条件:对于您的帖子中提供的示例框架,此片段返回: