我有一个 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
中。