آشنایی با تحلیل داده ها در پایتون

با گذشت سالها ، استفاده از پایتون برای علم داده رشد فوق العاده ای داشته است و روز به روز در حال رشد است.


علم داده ها یک رشته گسترده از مطالعه با زیرمجموعه های زیادی است که تجزیه و تحلیل داده ها بصورت غیرقابل تصرف یکی از مهمترین این زمینه ها است و صرف نظر از سطح مهارت فرد در علم داده ، درک فزاینده و مهم آن بسیار مهم شده است. حداقل دانش اساسی در مورد آن داشته باشید.

تجزیه و تحلیل داده ها چیست?

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

ابزارهای مختلفی برای تجزیه و تحلیل داده ها ، پایتون ، مایکروسافت اکسل ، Tableau ، SaS و غیره استفاده شده است ، اما در این مقاله ما به نحوه انجام تجزیه و تحلیل داده ها در پایتون می پردازیم. به طور خاص ، چگونگی انجام این کار با یک کتابخانه پیتون انجام شده است پاندا.

پاندا چیست؟?

Pandas یک کتابخانه پایتون منبع باز است که برای دستکاری داده ها و درگیری استفاده می شود. این نرم افزار سریع و بسیار کارآمد است و دارای ابزارهایی برای بارگذاری انواع مختلف داده در حافظه است. می توان از آن برای تغییر شکل ، برچسب برش ، فهرست یا حتی گروه بندی چندین شکل از داده استفاده کرد.

ساختار داده ها در پاندا

3 ساختار داده در پاندا وجود دارد ، یعنی؛

  • سلسله
  • DataFrame
  • پانل

بهترین راه برای تمایز این سه مورد ، دیدن یکی از این موارد است که شامل چندین پشته از دیگری است. بنابراین یک DataFrame یک سری از سری است و یک Panel یک سری از DataFrames است.

یک سری یک آرایه یک بعدی است

یک سری چند سری ، DataFrame 2 بعدی را ایجاد می کند

یک پشته از چندین DataFrames یک پنل 3 بعدی را ایجاد می کند

ساختار داده ای که ما بیشترین کار را با آن داشتیم ، DataFrame 2 بعدی است که می تواند وسیله پیش فرض نمایش برخی از مجموعه داده هایی باشد که ممکن است با آنها روبرو شویم..

تجزیه و تحلیل داده ها در پاندا

برای این مقاله نیازی به نصب نیست. ما از ابزاری به نام استفاده می کنیم همکاری ایجاد شده توسط Google. این یک محیط آنلاین پایتون برای تجزیه و تحلیل داده ها ، یادگیری ماشین و AI است. این یک نوت بوک Jupyter مبتنی بر ابر است که تقریباً در هر بسته Python مورد نیاز شما به عنوان یک دانشمند داده از قبل نصب شده است..

اکنون ، به سمت https://colab.research.google.com/notebooks/intro.ipynb. موارد زیر را باید مشاهده کنید.

در قسمت بالا سمت چپ ، روی گزینه پرونده کلیک کنید و روی گزینه “نوت بوک جدید” کلیک کنید. یک صفحه نوت بوک Jupyter جدید را مشاهده می کنید که در مرورگر شما بارگذاری شده است. اولین کاری که باید انجام دهیم وارد کردن پاندا به محیط کار ما است. ما می توانیم با اجرای کد زیر این کار را انجام دهیم؛

پاندا های وارداتی به عنوان pd

برای این مقاله ، ما برای تجزیه و تحلیل داده های خود از یک مجموعه داده قیمت مسکن استفاده می کنیم. مجموعه داده ای که ما از آن استفاده خواهیم کرد یافت می شود اینجا. اولین کاری که ما می خواهیم انجام دهیم بارگیری این مجموعه داده در محیط ماست.

ما می توانیم این کار را با کد زیر در سلول جدید انجام دهیم.

df = pd.read_csv (‘https://firebasestorage.googleapis.com/v0/b/ai6-portfolio-abeokuta.appspot.com/o/kc_house_data.csv؟alt=media &نشانه = 6a5ab32c-3cac-42b3-b534-4dbd0e4bdbc0 ‘، sep =’، ‘)

.read_csv وقتی می خواهیم پرونده CSV را بخوانیم استفاده می شود و یک ویژگی sep را به شما منتقل می کنیم تا نشان دهیم پرونده CSV کاملاً محدود است..

همچنین باید توجه داشته باشیم که پرونده CSV بارگذاری شده ما در متغیر df ذخیره می شود .

نیازی نیست از تابع چاپ () در نوت بوک Jupyter استفاده کنیم. ما فقط می توانیم به سادگی یک نام متغیر را در سلول خود تایپ کنیم و Jupyter Notebook آن را برای ما چاپ می کند.

می توانیم با تایپ df در یک سلول جدید و در حال اجرا آن را امتحان کنیم ، تمام داده های موجود در مجموعه داده های ما را به عنوان DataFrame برای ما چاپ می کند..

اما ما همیشه نمی خواهیم همه داده ها را ببینیم ، در بعضی مواقع فقط می خواهیم داده های اول و نام ستون های آنها را ببینیم. برای چاپ پنج ستون اول و df.tail () می توانیم از تابع df.head () استفاده کنیم. خروجی هر یک از این دو به این ترتیب به نظر می رسد؛

ما می خواهیم روابط این چندین سطر و ستون از داده ها را بررسی کنیم. تابع .describ () دقیقاً این کار را برای ما انجام می دهد.

 در حال اجرا df.describe () خروجی زیر را می دهد؛

ما فوراً می بینیم که. توصیف () میانگین ، انحراف استاندارد ، حداقل و حداکثر مقادیر و صدک های هر ستون در DataFrame را نشان می دهد. این به ویژه بسیار مفید است.

همچنین می توانیم شکل 2D DataFrame خود را بررسی کنیم تا دریابیم که چند ردیف و ستون در آن وجود دارد. ما می توانیم این کار را با استفاده از df.shape انجام دهیم که یک tuple را در قالب برگرداند (ردیف ها ، ستون ها).

همچنین می توانیم با استفاده از df.columns اسامی تمام ستون های موجود در DataFrame را بررسی کنیم.

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

df [‘قیمت’]

کد بالا ستون قیمت را برمی گرداند ، می توانیم با ذخیره کردن آن در متغیر جدید به این ترتیب ، بیشتر پیش برویم

قیمت = df [‘price’]

اکنون می توانیم هر عملکرد دیگری را که می تواند روی DataFrame در متغیر قیمت ما انجام دهد ، انجام دهیم زیرا فقط زیر مجموعه یک DataFrame واقعی است. ما می توانیم کارهایی مانند df.head () ، df.shape و غیره انجام دهیم..

همچنین می توانیم با ارسال لیستی از نام ستون ها در df ، چندین ستون را انتخاب کنیم

data = df [[‘قیمت’، ‘اتاق خواب’]]

در ستون فوق ستون هایی با نام های “قیمت” و “اتاق خواب” را انتخاب می کنیم ، اگر داده را وارد کنیم. () را در یک سلول جدید قرار دهیم ، موارد زیر را خواهیم داشت

روش فوق برای برش ستون ها ، تمام عناصر ردیف موجود در آن ستون را برمی گرداند ، اگر بخواهیم زیر مجموعه ای از ردیف ها و زیر مجموعه ستون ها را از مجموعه داده خود برگردانیم ، چه می شود؟ این کار با استفاده از .iloc انجام می شود و به روشی مشابه لیست های پایتون ایندکس می شود. بنابراین می توانیم کاری شبیه به آن انجام دهیم

df.iloc [50: ، 3]

که ستون 3 را از ردیف 50 تا آخر برمی گرداند. این بسیار زیبا و دقیقاً مشابه لیست های برش در پایتون است.

حال بیایید چیزهای واقعاً جالبی انجام دهیم ، مجموعه داده قیمت مسکن ما دارای ستونی است که قیمت خانه را به ما می گوید و ستون دیگری تعداد اتاقهای خانه خاص را به ما می گوید. قیمت مسکن یک ارزش مداوم است ، بنابراین ممکن است که ما دو خانه نداشته باشیم که قیمت یکسان دارند. اما تعداد اتاق خواب ها تا حدودی گسسته است ، بنابراین می توانیم چندین خانه با دو ، سه ، چهار اتاق خواب و غیره داشته باشیم.

اگر بخواهیم همه خانه ها را با همان تعداد اتاق خواب بگیریم و میانگین قیمت هر اتاق خواب گسسته را پیدا کنیم ، چه می شود؟ انجام این کار در پانداها نسبتاً آسان است ، می تواند به همین ترتیب انجام شود.

df.groupby (‘اتاق خواب’) [‘قیمت’] .من ()

اولین موارد فوق DataFrame را با داده های داده با شماره اتاق خواب یکسان با استفاده از تابع df.groupby () گروه بندی می کند ، سپس به آن می گوییم فقط ستون اتاق خواب را در اختیار ما قرار دهد و از تابع .mean () برای پیدا کردن میانگین هر خانه در مجموعه داده استفاده کنیم..

اگر بخواهیم موارد فوق را تصور کنیم ، چه می شود؟ ما می خواهیم بتوانیم بررسی کنیم که میانگین قیمت هر شماره اتاق خواب مجزا چگونه است؟ ما فقط باید کد قبلی را به یک تابع .plot () زنجیره کنیم.

df.groupby (‘اتاق های خواب’) [‘قیمت’] .منت (). طرح ()

ما خروجی خواهیم داشت که به نظر می رسد؛

موارد بالا برخی از روندهای داده را به ما نشان می دهد. در محور افقی ، تعداد مشخصی از اتاق خواب داریم (توجه داشته باشید که بیش از یک خانه می تواند X تعداد اتاق خواب داشته باشد) ، در محور عمودی میانگین قیمت ها را با توجه به تعداد مربوط به اتاق خواب در افقی داریم. محور. اکنون می توانیم فوراً متوجه شویم که خانه هایی که بین 5 تا 10 اتاق خواب دارند ، هزینه بیشتری نسبت به خانه هایی که 3 اتاق خواب دارند ، دارند. همچنین آشکار خواهد شد که خانه هایی که دارای 7 یا 8 اتاق خواب هستند ، هزینه بیشتری نسبت به خانه های 15 ، 20 یا حتی 30 اتاق دارند.

اطلاعاتی مانند موارد بالا به همین دلیل است که تجزیه و تحلیل داده ها از اهمیت بالایی برخوردار است ، ما می توانیم بینش مفیدی از داده هایی که فوراً یا کاملاً غیرممکن است بدون آنالیز به دست آوریم استخراج کنیم.

داده موجود نیست

فرض کنید من نظرسنجی انجام می دهم که شامل یک سری سؤال است. من پیوند نظرسنجی را با هزاران نفر به اشتراک می گذارم تا آنها بتوانند بازخورد خود را ارائه دهند. هدف نهایی من اجرای تجزیه و تحلیل داده ها بر روی این داده ها است تا بتوانم بینش اصلی را از داده ها بدست آورم.

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

پانداها تابعی را برای یافتن مقادیر گمشده در DataFrame به نام isnull () ارائه می دهند..

تابع isnull () می تواند به عنوان چنین استفاده شود.

df.isnull ()

این یک DataFrame از booleans را باز می دهد که به ما می گوید اگر داده های اولیه در آنجا وجود داشته باشند ، واقعاً مفقود شده یا به طور کاذب مفقود شده اند. خروجی به این ترتیب به نظر می رسد؛


ما به راهی نیاز داریم تا بتوانیم تمام این مقادیر گمشده را جایگزین کنیم ، اغلب اوقات انتخاب مقادیر گمشده می تواند صفر باشد. در بعضی مواقع ، بسته به دانشمند داده و مورد استفاده از داده های در حال تجزیه و تحلیل ، می تواند به عنوان میانگین تمام داده های دیگر یا شاید میانگین داده های اطراف آن در نظر گرفته شود..

برای پر کردن تمام مقادیر گمشده در یک DataFrame ، ما از تابع .fillna () به عنوان چنین استفاده می کنیم.

df.fillna (0)

در فوق ، ما تمام داده های خالی را با مقدار صفر پر می کنیم. همچنین می تواند هر شماره دیگری باشد که ما آن را مشخص کنیم.

اهمیت داده ها را نمی توان بیش از حد مورد تأکید قرار داد ، این به ما کمک می کند تا پاسخ درست از داده های خود را دریافت کنیم !. آنها می گویند تجزیه و تحلیل داده ها روغن جدیدی برای اقتصادهای دیجیتال است.

تمام نمونه های موجود در این مقاله را می توان یافت اینجا.

برای یادگیری عمیق تر ، بررسی کنید تجزیه و تحلیل داده ها با دوره آنلاین Python و Pandas.

برچسب ها:

  • پایتون

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map