بارگذاری فایل‌ SPSS در پایتون — راهنمای کاربردی

۶۲۴ بازدید
آخرین به‌روزرسانی: ۲۸ خرداد ۱۴۰۱
زمان مطالعه: ۳ دقیقه
بارگذاری فایل‌ SPSS در پایتون — راهنمای کاربردی

نرم‌افزار کاربردی SPSS به عنوان یک ابزار تحلیل و انجام محاسبات آماری از محبوبیت خاصی برخوردار است. ولی با توجه به فراگیر شدن کتابخانه‌های پایتون برای تحلیل‌های آماری بخصوص در حوزه یادگیری ماشین، نیاز است که فایل‌های اطلاعاتی مربوط به نرم‌افزار SPSS در برنامه‌های پایتون قابل استفاده باشند. در این نوشتار به نحوه بارگذاری فایل‌ spss در پایتون خواهیم پرداخت. همچنین با ذخیره‌سازی فایل‌های اطلاعاتی در قالب SPSS با استفاده از پایتون نیز آشنا خواهیم شد.

در نوشتارهای دیگر مانند افزونه های پایتون در SPSS – راهنمای کاربردی و  پایتون در SPSS — راهنمای گام به گام با نحوه ارتباط SPSS و شیوه برنامه‌نویسی با پایتون در محیط نرم‌افزار SPSS‌ آشنا شدیم. اما در این مطلب قصد داریم نحوه فراخوانی و ذخیره اطلاعات حاصل از نرم‌افزار SPSS‌ به درون پایتون را با کدهای برنامه‌نویسی و کتابخانه‌های Pandas و pyreadstat فرا بگیریم.

بارگذاری فایل‌ SPSS در پایتون

قالب فایل‌های اطلاعاتی در SPSS‌ با پسوند sav. مشخص می‌شوند. این پسوند مخفف Spss Attributes and Values‌ است که به منظور ذخیره‌سازی متغیرها و مقادیرشان ایجاد شده است. اطلاعات به صورت دو دویی در فایل‌های اطلاعاتی SPSS‌ ذخیره می‌شوند. هر چند SPSS این قالب فایل را به عنوان خود به ثبت نرسانده است ولی کمتر نرم‌افزاری از این قالب و نوع فایل برای ثبت اطلاعات استفاده می‌کند. بنابراین شاید بتوان پسوند sav.‌ را به نوعی در انحصار نرم‌افزار SPSS دانست.

از آنجایی که برای ثبت و ذخیره‌سازی مجموعه داده‌ها، پایتون ابزار مناسبی محسوب نمی‌شود، اغلب داده‌ها در قالب پرونده‌های اکسل یا SPSS یا صفحه گسترده‌های مطرح، ثبت شده ولی برای انجام محاسبات آماری روی آن‌ها از دستورات و کدهای پایتون استفاده می‌شود. بنابراین فراخوانی و بارگذاری چنین پرونده‌هایی در پایتون ضروری به نظر می‌رسد. در این بین کتابخانه Pandas توابعی مخصوص انجام این امور را در خود دارد. همچنین از کتابخانه pyreadstat نیز برای خواندن و ثبت اطلاعات با قالب SPSS می‌توان استفاده کرد.

فراخوانی فایل SPSS در Pandas

با استفاده از دستورات و توابع کتابخانه Pandas به راحتی می‌توان اطلاعات مربوط به فایل‌های sav را به پایتون منتقل و از آن‌ها برای انجام محاسبات استفاده کرد. ابتدا کتابخانه pandas را بارگذاری کرده و از دستور read_spss برای فراخوانی فایل اطلاعاتی sav کمک می‌گیریم.

1import pandas as pd
2df=pd.read_spss(''./SimData/survey_1.sav'')
3df.tail()

به این ترتیب با مشخص کردن مسیر و نام فایل در دستور pd.read_spss اطلاعات مربوطه در حافظه و مجموعه داده df بارگذاری می‌شود.

نکته: فرض بر این است که نام فایل مورد نظر survery_1.sav بوده و در پوشه SimData قرار دارد. این فایل را می‌توانید به صورت فشرده از این لینک دریافت کنید.

فرض کنید این فایل شامل اطلاعاتی نظیر شماره ردیف (ID)، نام (Name)، روز هفته (Day)، سن (Age) و پاسخ (Response) و همچنین جنسیت (Gender) باشد. نتیجه دستورات گفته شده به شکل زیر خواهد بود.

reading_data_files_in_pandas_spss

اگر بخواهیم قسمتی از متغیرها را انتخاب و در چارچوب داده df قرار دهیم، کافی است از دستور زیر کمک بگیریم.

1cols = ['ID', 'Day', 'Age', 'Response', 'Gender']
2df = pd.read_spss('./SimData/survey_1.sav', usecols=cols)
3df.head()

با این کار از متغیر نام (Name) چشم پوشی شده و چند سطر اول چارچوب داده (DataFrame) ظاهر خواهد شد. مشخص است که پارامتر usecol موجب شده است که بعضی از ستون‌ها که در متغیر cols‌ مشخص شده‌اند برای نمایش و استخراج اطلاعات به کار روند.

read_sav_files_in_python_usecols_pandas

متاسفانه کتابخانه Pandas ابزاری برای ثبت اطلاعات به قالب sav ندارد. در این بین بهتر است از کتابخانه pyreadstat استفاده شود.

فراخوانی فایل SPSS در Pyreadstat

به منظور نصب و راه‌اندازی کتابخانه Pyreadstat دو روش وجود دارد.

  1. نصب از طریق pip: پنجره خط فرمان یا ترمینال پایتون را باز کنید و دستور pip install pyreadstat را اجرا کنید.
  2. با استفاده از Conda: پنجره خط فرمان یا ترمینال پایتون را باز کنید و دستور conda install -c conda-forge pyreadstat را اجرا کنید.

به این ترتیب کتابخانه pyreadstat نصب خواهد شد. به منظور راه‌اندازی این کتابخانه و استفاده از توابع آن نیز باید دستور زیر را در پایتون صادر کنید.

1import pyreadstat

حال با استفاده از دستور زیر می‌توانید اطلاعات این فایل را در متغیر df ثبت کنیم.

1df= pyreadstat.read_sav('./SimData/survey_1.sav')

این نکته جالب است که نوع متغیر df همان چارچوب داده Pandas خواهد بود. به کمک دستور type این موضوع را مورد بررسی قرار می‌دهیم.

1type(df)

نتیجه اجرای این دستور pandas.core.frame.DataFrame است. بنابراین روش‌ها و توابع موجود در کتابخانه pandas برای آن قابل به کارگیری است. برای مثال:

1df.head()

چند سطر اول مجموعه داده را نمایش خواهد داد.

نکته: می‌دانیم که اندیس در پایتون با صفر شروع می‌شود در نتیجه اولین مشاهده با اندیس ۰ مشخص شده است.

ذخیره‌سازی فایل اطلاعاتی با قالب sav در پایتون

برای ثبت چارچوب اطلاعاتی حاصل از عملیات پایتون در فایلی با قالب sav که بتوان در SPSS‌ از آن استفاده کرد باز هم از کتابخانه pyreadstat‌ کمک می‌گیریم. کافی است که روش write_sav را به کار برید. دستور زیر چارچوب داده df را با قالب sav در فایلی به نام survey_1_copy.sav ذخیره می‌کند.

1pyreadstat.write_sav(df, './SimData/survey_1_copy.sav')

توجه داشته باشید که مسیر ذکر شده در این دستور وجود داشته باشد در غیر اینصورت با پیغام خطا مواجه خواهید شد. به این ترتیب می‌توانید survey_1_copy.sav را در SPSS فراخوانی کرده و محاسبات آماری دلخواه خود را با استفاده از فهرست دستورات مناسب در SPSS اجرا کنید.

اگر علاقه‌مند به یادگیری مباحث بیشتر در مورد SPSS و پایتون هستید، آموزش‌های زیر به شما پیشنهاد می‌شوند:

^^

بر اساس رای ۳ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *