آموزش Pandas | کار با داده‌های متنی

پردازش داده‌های متنی

در این بخش، یاد می‌گیرید که چگونه با داده‌های متنی (رشته‌ای) در Pandas کار کنید. این مهارت برای پاکسازی و آماده‌سازی داده‌های دنیای واقعی که اغلب حاوی متن‌های ناخواسته، فاصله‌های اضافی یا حروف بزرگ و کوچک هستند، بسیار ضروری است.

۱. دسترسی به داده‌های متنی در سری و دیتافریم

برای اعمال عملیات متنی روی یک ستون از نوع رشته، از str. پس از نام ستون استفاده می‌کنیم. فرض کنید یک دیتافریم به نام df داریم که ستونی به نام text دارد:

import pandas as pd

data = {'text': ['  سلام دنیا  ', 'سلام!', 'خوش آمدید']}
df = pd.DataFrame(data)

# دسترسی به اولین کاراکتر هر رشته
print(df['text'].str[0])

# خروجی: 
# 0    (فاصله)
# 1       س
# 2       خ

۲. حذف فاصله‌های اضافی (strip, lstrip, rstrip)

برای حذف فاصله‌های اضافی از ابتدا و انتهای رشته‌ها از متد strip() استفاده می‌کنیم. مشابه آن، lstrip() فقط از چپ و rstrip() فقط از راست حذف می‌کند.

# حذف فاصله‌های ابتدا و انتها
df['text_clean'] = df['text'].str.strip()
print(df['text_clean'])
# خروجی:
# 0       سلام دنیا
# 1          سلام!
# 2       خوش آمدید

۳. جایگزینی متن (replace)

برای جایگزینی یک بخش از متن با بخش دیگر، از str.replace() استفاده می‌کنیم. این تابع مانند str.replace در پایتون عمل می‌کند.

# جایگزینی علامت تعجب با نقطه
df['text_replaced'] = df['text_clean'].str.replace('!', '.')
print(df['text_replaced'])
# خروجی:
# 0       سلام دنیا
# 1          سلام.
# 2       خوش آمدید

۴. تبدیل حروف به کوچک یا بزرگ (lower, upper, title)

برای یکسان‌سازی متن‌ها (مثلاً برای جستجو) از این متدها استفاده می‌کنیم:

# تبدیل همه حروف به کوچک
print(df['text_clean'].str.lower())
# تبدیل همه حروف به بزرگ
print(df['text_clean'].str.upper())
# تبدیل حرف اول هر کلمه به بزرگ (عنوان)
print(df['text_clean'].str.title())

۵. استخراج زیررشته با slice

مشابه برش دادن رشته‌ها در پایتون، می‌توانید بخشی از هر رشته را استخراج کنید:

# استخراج ۴ حرف اول هر رشته
print(df['text_clean'].str.slice(0, 4))
# خروجی:
# 0       سلام
# 1       سلام
# 2       خوش

نکته مهم: همه این عملیات یک سری جدید برمی‌گردانند و دیتافریم اصلی را تغییر نمی‌دهند، مگر اینکه نتیجه را به ستون اصلی یا ستون جدیدی اختصاص دهید.

پرسش و پاسخ این درس

برای ثبت پرسش ابتدا در سایت وارد شوید.

  • 1
  • 2
  • 3