首页 > 解决方案 > 如何根据列中列表的长度过滤熊猫数据框?

问题描述

我有一个像这样的熊猫数据框:

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

如何根据列的长度过滤这个数据框subjects

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

我尝试使用

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

但这给了

KeyError: True

此外,使用loc没有帮助,这给了我同样的错误。

提前致谢!

标签: pythonpandasdataframe

解决方案


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

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

输出:

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

推荐阅读