首页 > 解决方案 > 如何使用熊猫应用多个过滤器?

问题描述

如何使用 pandas 轻松应用多个过滤器以获得 100 个值?有两列(column/column2)和 500000 行。我的目标是:在 sample.xlsx 文件中找到一些值,例如 value-1、value-2 等(应该包括所有这些值)。然后从 column2 提取唯一值到另一个 xlsx 文件。

import pandas as pd
df=pd.read_excel('sample.xlsx')
filtered_list = df[(df['column']=='value-1')|
                   (df['column']=='value-2')]
                   (df['column']=='value-3')]
                   .......
                   (df['column']=='value-100')]
print(filtered_list)
    list = ['value-1', 'value-2', ..., 'value-100']
    **Sample Dataset**
    column      column2
    value-1     gene1
    value-2     gene1
    value-3     gene2
    value-4     gene2
    value-5     gene2
    .....       ....
    value-100   gene3
    value-102   gene3
    value-105   gene4
**1. Desired Output**
column      column2
value-1     gene1
value-2     gene1
value-3     gene2
value-4     gene2
value-5     gene2
.....       ....
value-100   gene3
**2. Desired Output**
column2
gene1
gene2
gene3

@domiziano

标签: pythonpython-3.xpandas

解决方案


如果你有你想要的所有值的列表,你可以做

list = ['value-1', 'value-2', ..., 'value-100']

filtered_list = df[df['column'].isin(list)]

然后查看 column2 中的所有唯一值

filtered_list['column2'].unique()

推荐阅读