在python数据框中使用拖放时发生KeyError

qxgroojn  于 2022-12-27  发布在  Python
关注(0)|答案(1)|浏览(213)

Dataframe 如下:
dataframe image
我使用的代码:df.drop(df[len(df['subjects'].str.split())<3].index,inplace=True)来删除所有主题少于3个的行。但是在执行这段代码时,我得到了一个错误:raise KeyError(key) from err出现这种情况的原因可能是什么?
我尝试通过提供适当的条件来使用drop函数,但它不起作用

gpnt7bae

gpnt7bae1#

你的问题是len(df['subjects'].str.split())<3没有返回你所期望的,它只是简单地检查你的 Dataframe 的长度(行数)是否小于3,并返回False。而且,False不是 Dataframe 索引,值,因此是KeyError。
你可以像这样使用布尔索引:

df[~(df['subjects'].str.split(' ').str.len()<3)]

输出:

school_id state_code                   subjects
0     sch_1      !@sc1   english maths chemistray
1     sch_2     ))sc_2  english physics chemistry

相关问题