我有一个 pandas DataFrame LYRIC_INFO,重点是它的 index 是两层的,一个称为 'polyu_id', 另一个称为 'lyric_id'。我希望筛选出一部分 'polyu_id' 的项目(这些 'polyu_id' 已经列成一个列表 to_filter_polyu_ids),应该如何做?

使用 pandas 的 isin 方法,可以很容易地对 DataFrame 进行筛选。以下是一种可能的实现方式:

filtered_df **=** LYRIC_INFO[LYRIC_INFO**.**index**.**get_level_values('polyu_id')**.**isin(to_filter_polyu_ids)]

在这段代码中, index.get_level_values('polyu_id') 用于获取 index 中 'polyu_id' 的所有值, isin(to_filter_polyu_ids) 用于判断这些值是否在你提供的列表 to_filter_polyu_ids 中。