ใช้โมดูล re ร่วมกับการวนลูปผ่านทุกคอลัมน์และแถวของ DataFrame ตรวจสอบด้วย regex pattern r'\w*[A-Z]\w*' เพื่อหาคำที่มีตัวพิมพ์ใหญ่อย่างน้อยหนึ่งตัว (ในตัวอย่างคือคำที่เป็นตัวพิมพ์ใหญ่ทั้งหมด)
ตัวอย่างโค้ด
import re
import pandas as pd
# สร้าง DataFrame ตัวอย่าง
data = [
['computer', 'mobile phone', 'ELECTRONICS', 'electronics'],
['KEYBOARD', 'charger', 'SMARTTV', 'camera']
]
df = pd.DataFrame(data)
print("DataFrame:\n", df)
print("\nคำที่เป็นตัวพิมพ์ใหญ่ทั้งหมด:")
# วนลูปทุกคอลัมน์และแถว
for col in df.columns:
for val in df[col]:
if bool(re.match(r'\w*[A-Z]\w*', str(val))):
print(val)
ผลลัพธ์
DataFrame:
0 1 2 3
0 computer mobile phone ELECTRONICS electronics
1 KEYBOARD charger SMARTTV camera
คำที่เป็นตัวพิมพ์ใหญ่ทั้งหมด:
KEYBOARD
ELECTRONICS
SMARTTV
Pattern r'\w*[A-Z]\w*' จับคำที่มีตัวอักษร A-Z อย่างน้อย 1 ตัว สำหรับจับเฉพาะคำที่เป็นตัวพิมพ์ใหญ่ทั้งหมด ควรใช้ r'^[A-Z]+$' แทน