Python 过滤掉只有一个字母的单词

Python 过滤掉只有一个字母的单词,python,pandas,Python,Pandas,你能帮我理解如何只提取长度大于1的单词吗 WORD TPI is a new program as E stands for Eimear your are using an extra L 下面的代码选择大写单词/字母: dt['WORD'].str.extractall(r'([A-Z]+)') 问题是,我只希望过滤具有多个TPI的字母,而不希望过滤TPI、E、L 如何获得这些单词TPI?一种方法是假设单词列表是您的起点: list_of_words = ['TPI', 'E', 'L'

你能帮我理解如何只提取长度大于1的单词吗

WORD
TPI is a new program
as E stands for Eimear
your are using an extra L
下面的代码选择大写单词/字母:

dt['WORD'].str.extractall(r'([A-Z]+)')
问题是,我只希望过滤具有多个TPI的字母,而不希望过滤TPI、E、L


如何获得这些单词TPI?

一种方法是假设单词列表是您的起点:

list_of_words = ['TPI', 'E', 'L']

filtered_list_without_single_character_words = [w for w in list_of_words if len(w) > 1]

一种方法是——假设单词列表是从哪里开始的:

list_of_words = ['TPI', 'E', 'L']

filtered_list_without_single_character_words = [w for w in list_of_words if len(w) > 1]
检查findall

检查findall


@卢卡迪毛罗我现在正在修复它~@LucaDiMauro所以你想要所有的大写单词?是的。不幸的是,我的代码也选择了单个字母E,L,我想排除它们。只保留长度大于的大写单词1@LucaDiMauro我正在修复它~@LucaDiMauro所以你想要所有的大写单词?是的。不幸的是,我的代码也选择了单个字母E,L,我想排除它们。只保留长度大于1的大写单词谢谢Matt。不幸的是,它可能恰好有数千个单词,因此在您提取单词列表后,我无法知道要排除哪个单词或选择应用过滤器。这一步只是将列表缩小为大于1个字符的单词。您不需要知道要排除哪些单词,单词列表是dt['WORD']的结果。str.extractallr'[A-Z]+'。谢谢Matt。不幸的是,它可能恰好有数千个单词,因此在您提取单词列表后,我无法知道要排除哪个单词或选择应用过滤器。这一步只是将列表缩小为大于1个字符的单词。您不需要知道要排除哪些单词,单词列表是dt['WORD'].str.extractallr'[A-Z]+'的结果。这是一个通用正则表达式问题,不是熊猫,请阅读Python。[A-Z]+是与1+个大写字母匹配的正则表达式。但是您需要一个匹配2+大写字母的正则表达式,即[a-Z]{2,}这是一个通用正则表达式问题,而不是熊猫,请阅读Python。[A-Z]+是与1+个大写字母匹配的正则表达式。但是您需要一个匹配2+个大写字母的正则表达式,即[a-Z]{2,}