微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – 根据涉及len(string)给出KeyError的条件表达式从pandas DataFrame中删除行

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

我希望能够做到这一点(每this answer):

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

但我得到错误

KeyError: u'no item named False'

我究竟做错了什么?

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

解决方法:

当你执行len(df [‘column name’])时,你只得到一个数字,即DataFrame中的行数(即列本身的长度).如果要对列中的每个元素应用len,请使用df [‘column name’].map(len).所以试试吧

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐