Dataframe 如下:
dataframe image
我使用的代码:df.drop(df[len(df['subjects'].str.split())<3].index,inplace=True)
来删除所有主题少于3个的行。但是在执行这段代码时,我得到了一个错误:raise KeyError(key) from err
出现这种情况的原因可能是什么?
我尝试通过提供适当的条件来使用drop函数,但它不起作用
Dataframe 如下:
dataframe image
我使用的代码:df.drop(df[len(df['subjects'].str.split())<3].index,inplace=True)
来删除所有主题少于3个的行。但是在执行这段代码时,我得到了一个错误:raise KeyError(key) from err
出现这种情况的原因可能是什么?
我尝试通过提供适当的条件来使用drop函数,但它不起作用
1条答案
按热度按时间gpnt7bae1#
你的问题是
len(df['subjects'].str.split())<3
没有返回你所期望的,它只是简单地检查你的 Dataframe 的长度(行数)是否小于3,并返回False。而且,False不是 Dataframe 索引,值,因此是KeyError。你可以像这样使用布尔索引:
输出: