小编典典

如何根据条件表达式从熊猫数据框中删除行

all

我有一个 pandas DataFrame,我想从中删除特定列中字符串长度大于 2 的行。

我希望能够做到这一点(根据这个答案):

df[(len(df['column name']) < 2)]

但我只是得到错误:

KeyError: u'no item named False'

我究竟做错了什么?

(注意:我知道我可以df.dropna()用来删除包含 any 的行NaN,但我没有看到如何根据条件表达式删除行。)


阅读 98

收藏
2022-03-11

共1个答案

小编典典

当你这样做时,len(df['column name'])你只会得到一个数字,即 DataFrame
中的行数(即列本身的长度)。如果要应用于len列中的每个元素,请使用df['column name'].map(len). 所以试试

df[df['column name'].map(len) < 2]
2022-03-11