gpt4 book ai didi

python - 如何根据列值的长度过滤数据框行

转载 作者:行者123 更新时间:2023-12-05 02:46:07 28 4
gpt4 key购买 nike

我有一个数据框,其中一列包含以下字符串:

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'

因为是唯一一个包含一个长度等于11个字符的单词

谢谢

最佳答案

len(x) 在您的代码中检查整个字符串的长度。

>>> df.A.str.len()
0 11
1 13
2 17

您需要做的是将字符串拆分为单词并检查是否有任何单词的长度为 == 11。

下面的代码应该完成这项工作。

>>> df[df['A'].apply(lambda x: any(len(y) == 11 for y in x.split()))]
A
2 Worldisnice hello

关于python - 如何根据列值的长度过滤数据框行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65641687/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com