تحلیل داده با Pandas: راهنمای جامع
Pandas یکی از قدرتمندترین و پرکاربردترین کتابخانههای پایتون برای تحلیل و دستکاری دادهها است. این کتابخانه ابزارهایی را فراهم میکند که به شما امکان میدهد دادهها را به راحتی خوانده، پاکسازی، تبدیل و تحلیل کنید. در این مقاله، به بررسی عمیق استفاده از Pandas در علم داده و یادگیری ماشین خواهیم پرداخت.
مقدمهای بر Pandas
Pandas بر پایه دو ساختار داده اصلی بنا شده است: Series و DataFrame. Series یک آرایه یکبعدی برچسبدار است که میتواند هر نوع دادهای را در خود جای دهد. DataFrame یک ساختار داده دو بعدی برچسبدار است که شبیه به یک جدول یا صفحه گسترده است. هر ستون در یک DataFrame میتواند نوع داده متفاوتی داشته باشد.
نصب Pandas
برای نصب Pandas، میتوانید از pip استفاده کنید:
pip install pandas
وارد کردن Pandas
پس از نصب، Pandas را به صورت زیر وارد کنید:
import pandas as pd
Series در Pandas
Series یک آرایه یکبعدی است که میتواند هر نوع دادهای را در خود جای دهد. میتوانید Series را از لیست، دیکشنری یا آرایه NumPy ایجاد کنید.
ایجاد Series
data = [10, 20, 30, 40, 50] series = pd.Series(data) print(series)
خروجی:
0 10 1 20 2 30 3 40 4 50 dtype: int64
همچنین میتوانید ایندکسهای سفارشی را مشخص کنید:
series = pd.Series(data, index=['a', 'b', 'c', 'd', 'e']) print(series)
دسترسی به عناصر Series
میتوانید با استفاده از ایندکس به عناصر Series دسترسی پیدا کنید:
print(series['a']) print(series[0])
DataFrame در Pandas
DataFrame یک ساختار داده دو بعدی است که شبیه به یک جدول یا صفحه گسترده است. میتوانید DataFrame را از دیکشنری، لیست دیکشنریها، یا فایلهای CSV، Excel و غیره ایجاد کنید.
ایجاد DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 28],
'City': ['New York', 'London', 'Paris']}
df = pd.DataFrame(data)
print(df)
خروجی:
Name Age City
0 Alice 25 New York
1 Bob 30 London
2 Charlie 28 Paris
خواندن داده از فایل CSV
df = pd.read_csv('data.csv')
print(df.head()) # نمایش پنج ردیف اول
دسترسی به ستونها و ردیفها
برای دسترسی به یک ستون، از نام ستون استفاده کنید:
print(df['Name'])
برای دسترسی به یک ردیف، از متد `loc` یا `iloc` استفاده کنید. `loc` بر اساس برچسب ایندکس کار میکند، در حالی که `iloc` بر اساس موقعیت عددی کار میکند.
print(df.loc[0]) # دسترسی به ردیف با ایندکس 0 print(df.iloc[0]) # دسترسی به ردیف اول
عملیات رایج در Pandas
Pandas امکانات گستردهای برای دستکاری و تحلیل دادهها فراهم میکند.
پاکسازی دادهها
دادههای واقعی اغلب ناقص یا دارای خطا هستند. Pandas ابزارهایی برای پاکسازی دادهها ارائه میدهد.
حذف مقادیر گمشده (NaN)
df.dropna() # حذف ردیفهایی که دارای مقادیر گمشده هستند df.fillna(0) # جایگزینی مقادیر گمشده با 0
حذف ردیفهای تکراری
df.drop_duplicates()
فیلتر کردن دادهها
میتوانید دادهها را بر اساس شرایط خاص فیلتر کنید.
df[df['Age'] > 25] # انتخاب ردیفهایی که سن آنها بیشتر از 25 است
مرتبسازی دادهها
df.sort_values(by='Age') # مرتبسازی بر اساس ستون 'Age'
گروهبندی دادهها
میتوانید دادهها را بر اساس یک یا چند ستون گروهبندی کنید و عملیات تجمعی را روی هر گروه انجام دهید.
df.groupby('City')['Age'].mean() # محاسبه میانگین سن برای هر شهر
اضافه کردن و حذف ستونها
df['Salary'] = [50000, 60000, 55000] # اضافه کردن ستون جدید
df.drop('City', axis=1) # حذف ستون 'City'
تغییر نوع داده
df['Age'] = df['Age'].astype(float) # تبدیل نوع داده ستون 'Age' به float
تحلیل داده با Pandas
Pandas ابزارهای قدرتمندی برای تحلیل دادهها ارائه میدهد.
آمار توصیفی
df.describe() # محاسبه آمار توصیفی برای ستونهای عددی
همبستگی
df.corr() # محاسبه ماتریس همبستگی بین ستونهای عددی
مقادیر منحصر به فرد
df['City'].unique() # نمایش مقادیر منحصر به فرد در ستون 'City'
تعداد مقادیر منحصر به فرد
df['City'].nunique() # نمایش تعداد مقادیر منحصر به فرد در ستون 'City'
ادغام و اتصال DataFrameها
Pandas امکان ادغام و اتصال DataFrameها را فراهم میکند.
ادغام (Merge)
df1 = pd.DataFrame({'ID': [1, 2, 3], 'Name': ['A', 'B', 'C']})
df2 = pd.DataFrame({'ID': [1, 2, 4], 'Salary': [50000, 60000, 70000]})
pd.merge(df1, df2, on='ID') # ادغام بر اساس ستون 'ID'
اتصال (Concatenate)
pd.concat([df1, df2]) # اتصال DataFrameها به صورت عمودی
نتیجهگیری
Pandas یک کتابخانه ضروری برای هر دانشمند داده یا مهندس یادگیری ماشین است. با استفاده از Pandas، میتوانید دادهها را به راحتی خوانده، پاکسازی، تبدیل و تحلیل کنید. این مقاله تنها یک مقدمه بر قابلیتهای Pandas است. با تمرین و مطالعه بیشتر، میتوانید از تمام پتانسیل این کتابخانه قدرتمند بهرهمند شوید.

بدون دیدگاه