我有一个dataframe,其中一列包含以下字符串:
df=pd.DataFrame(['Hello world', 'World is good', 'Worldisnice hello'], columns=['A'])
df
A
0 'Hello world'
1 'World is good'
2 'Worldisnice hello'
我正在尝试获取包含一个单词的行,长度为11个字符
我使用下面的代码,它给出的是字符串的长度,而不是列中的单词
df = df[df['A'].apply(lambda x: len(x) == 11)]
得到以下结果:
df
A
0 'Hello world'
输出应为:
df
A
0 'Worldisnice hello'
Since是唯一一个包含一个长度等于11个字符的单词的
谢谢你
4条答案
按热度按时间fnx2tebb1#
代码中的
len(x)
正在检查整个字符串的len。你需要做的是将字符串拆分成单词,并检查是否有任何单词的长度是== 11。
下面的代码是应该做的工作。
vc9ivgsu2#
另一种方法:
它规定:
dxxyhpgq3#
我喜欢明确定义简单的过滤函数。我发现它更容易阅读和维护。
flseospp4#
您可以在不使用lambda函数的情况下使用字符串函数来完成此操作