我有一个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 举报,一经查实,本站将立刻删除。