如何使用pandas应用多个过滤器?

2024-05-13 04:55:56 发布

您现在位置:Python中文网/ 问答频道 /正文

如何使用pandas轻松应用100个值的多个过滤器? 有两列(列/列2)和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


Tags: 文件samplepandasdfvaluecolumnxlsxfiltered
1条回答
网友
1楼 · 发布于 2024-05-13 04:55:56

如果你有一个你想要的所有值的列表,你可以这样做

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

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

然后查看第2列中的所有唯一值

filtered_list['column2'].unique()

相关问题 更多 >