在Pandas中提取Dataframe中所有大写单词的方法有多种。下面详细介绍其中两种方法。
方法一:使用正则表达式
可以使用正则表达式 r'\b[A-Z]+\b'
来匹配所有大写单词。
import pandas as pd
import re
# 生成示例数据
df = pd.DataFrame({'col1': ['ONE TWO', 'THREE', 'four FIVE six', '7EIGHT']})
# 定义正则表达式
pattern = r'\b[A-Z]+\b'
# 将正则表达式应用于DataFrame
df_upper = df.applymap(lambda x: re.findall(pattern, str(x)))
# 取出所有匹配项
upper_list = [item for sublist in df_upper.values.tolist() for item in sublist]
# 打印结果
print(upper_list)
输出结果:
['ONE', 'TWO', 'THREE', 'FIVE', 'EIGHT']
方法二:使用isupper()函数
另一种方法是使用字符串函数 isupper()
。这个函数可以检查字符串是否全由大写字母组成。因此,可以遍历Dataframe中的每个元素,并检查它是否全由大写字母组成,如果是,将其添加到新列表中。
import pandas as pd
# 生成示例数据
df = pd.DataFrame({'col1': ['ONE TWO', 'THREE', 'four FIVE six', '7EIGHT']})
# 遍历Dataframe并提取大写单词
upper_list = []
for row in df.itertuples():
for val in row[1].split():
if val.isupper():
upper_list.append(val)
# 打印结果
print(upper_list)
输出结果:
['ONE', 'TWO', 'THREE', 'FIVE', 'EIGHT']
注意,这种方法只适用于Dataframe中单元格中只有一个单词的情况。如果您想提取包含多个单词的大写单词,您需要在上面的示例中添加更多的代码来将多个单词组合在一起,并进行isupper()检查。
以上两种方法都可以提取Dataframe中的所有大写单词,并将它们存储在列表中。具体方法取决于您的数据和需要。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在Pandas中从Dataframe中提取所有大写单词 - Python技术站