Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ดึงเฉพาะคำที่เป็นตัวพิมพ์ใหญ่ทั้งหมดจาก DataFrame ด้วย Regex

ใช้โมดูล 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]+$' แทน