使用Python从数据帧中删除只有一个单词的列值
我是编程新手。我有一个数据框,如下图所示:使用Python从数据帧中删除只有一个单词的列值,python,python-3.x,pandas,nlp,Python,Python 3.x,Pandas,Nlp,我是编程新手。我有一个数据框,如下图所示: Col-2 Col-3 have a account A account summary B Cancel C Both D Update credit card E Block Credit card F 我需要我的输出为: Col-2 Col-3 have a account A account sum
Col-2 Col-3
have a account A
account summary B
Cancel C
Both D
Update credit card E
Block Credit card F
我需要我的输出为:
Col-2 Col-3
have a account A
account summary B
Update credit card E
Block Credit card F
意味着我需要那些
Col-2
包含多个单词的值。应删除Col-2
中的单个单词和取消都是单字,这就是为什么这些行已从输出中删除。这里的列表理解比方法更快。拆分数据帧后,使用它获取Col-2
中每个值的长度,并根据该长度是否大于1对数据帧进行索引:
>>> df[[len(i.split())>1 for i in df['Col-2'].values]]
Col-2 Col-3
0 have a account A
1 account summary B
4 Update credit card E
5 Block Credit card F
这里的列表理解比pandas
str
方法更快。拆分数据帧后,使用它获取Col-2
中每个值的长度,并根据该长度是否大于1对数据帧进行索引:
>>> df[[len(i.split())>1 for i in df['Col-2'].values]]
Col-2 Col-3
0 have a account A
1 account summary B
4 Update credit card E
5 Block Credit card F
在执行上述查询时,我收到一个错误“AttributeError:‘bool’对象没有属性‘split’”。我应该做什么?不确定,没有看到数据,但我最好的猜测是尝试:df[[len(i.split())>df['Col-2'].astype(str.values]]
执行上述查询时,我收到一个错误“AttributeError:'bool'对象没有属性'split'。我应该做什么?不确定,没有看到数据,但我最好的猜测是尝试:df[[len(i.split())>1 for i in df['Col-2'].astype(str).values]