如何根据列中列表的长度过滤熊猫数据框?

时间:2021-03-16 16:17:59

标签: python pandas dataframe

我有一个像这样的 Pandas DataFrame:

id    subjects
1     [math, history]
2     [English, Dutch, Physics]
3     [Music]

如何根据列 subjects 的长度过滤此数据框?

例如,如果我只想在 len(subjects) >= 2 处有行?

我尝试使用

df[len(df["subjects"]) >= 2]

但这给了

KeyError: True

此外,使用 loc 也无济于事,这给了我同样的错误。

提前致谢!

1 个答案:

答案 0 :(得分:2)

使用字符串访问器处理列表:

df[df['subjects'].str.len() >= 2]

输出:

   id                   subjects
0   1            [math, history]
1   2  [English, Dutch, Physics]