在Pandas中从Dataframe中提取所有大写单词
在这篇文章中,我们将讨论从pandas __模块的数据框中提取大写字母的各种方法。下面是将用于描述各种方法的数据框架。
# Import pandas library
import pandas
# Create dataset
data = [['tom', 'DATAFRAME', '200.00'],
['PANDAS', 15, 3.14],
['r2j', 14, 'PYTHON']]
# Create the pandas DataFrame
df = pandas.DataFrame(data)
# Display dataframe
df
输出:
方法一:在一个显式函数中使用ord()方法
创建一个显式函数来检查所传递的字符串参数是否包含所有的大写字符。在该函数中,通过使用ASCII值检查每个字符是否是大写字母。现在在数据框架的每个元素上使用该显式函数来识别大写字母并显示它们。
# Import pandas library
import pandas
# explicit function to check if string
# contains only uppercase characters
def findCap(s):
for ele in str(s):
if ord(ele) < 65 or ord(ele) > 90:
return 0
return 1
# Create dataset
data = [['tom', 'DATAFRAME', '200.00'],
['PANDAS', 15, 3.14],
['r2j', 14, 'PYTHON']]
# Create the pandas DataFrame
df = pandas.DataFrame(data)
# access each element in
# the dataframe
for i in range(df.shape[1]):
for ele in df[i]:
# call explicit function
if findCap(ele):
print(ele)
输出:
PANDAS
DATAFRAME
PYTHON
方法#2:使用str()和isupper()方法
访问数据框架的每个元素,并使用str()将每个元素转换为字符串,然后对每个元素应用isupper()方法。从数据框中提取大写字母,并显示它们。
# Import pandas library
import pandas
# Create dataset
data = [['tom', 'DATAFRAME', '200.00'],
['PANDAS', 15, 3.14],
['r2j', 14, 'PYTHON']]
# Create the pandas DataFrame
df = pandas.DataFrame(data)
# access each element in the dataframe
for i in range(df.shape[1]):
for ele in df[i]:
# use isupper()
if str(ele).isupper():
print(ele)
输出:
PANDAS
DATAFRAME
PYTHON
方法#3:使用str()方法和regex __模块
访问数据框架的每个元素,使用str()将每个元素转换为字符串,之后应用regex从数据框架中提取大写字母并显示出来。
# Import required modules
import re
import pandas
# Create dataset
data = [['tom', 'DATAFRAME', '200.00'],
['PANDAS', 15, 3.14],
['r2j', 14, 'PYTHON']]
# Create the pandas DataFrame
df = pandas.DataFrame(data)
# access each element in the dataframe
for i in range(df.shape[1]):
for ele in df[i]:
if bool(re.match(r'\w*[A-Z]\w*', str(ele))):
print(ele)
输出:
PANDAS
DATAFRAME
PYTHON