نوع Series یک آرایه تک بعدی (One-Dimensional) است، که شامل داده های همگن (Homogeneous) می شود. منظور از همگن بودن داده این است که تمامی داده ها از یک نوع (Type) هستند. ویژگی دیگر نوع Series تغییر ناپذیر بودن اندازه آن (Size Immutable) است ولی مقدارهای درون آن می توانند تغییر کنند.

نوع Series در ماژول Pandas

در مطلب های پیشین در مورد DataFrame و انتخاب داده های درون آن توسط ماژول Pandas توضیح دادیم که توسط کلاس DataFrame می توانیم شی از نوع ساختار داده (نوع) DataFrame را ایجاد کنیم. همین مورد برای نوع ساختار داده Series وجود دارد، به عبارت دیگر از کلاس Series و همانند کد شکل زیر می توانیم نوع Series را ایجاد کنیم.

در کدهای شکل بالا ابتدا یک دیشکنری با سه کلید که هر یک به لستی از انواع صحیح، اعشاری و رشته اشاره می کنند را به کلاس DataFrame ارسال کرده ایم. از خصوصیتی (Property) به نام dtypes از کلاس DataFrame می توانیم انواع هر یک از ستون های DataFrame را پیدا کنیم.

در کدهای زیر ستون col1 را درون متغیری به نام series ذخیره کرده ایم. در خط بعدی و توسط خصوصیت dtypes نوع مقدارهای درون متغیر series نشان داده شده است. در این مثال چون مقدار ستون col1 از نوع int64 است، پس نوع آرایه تک بعدی series نیز از نوع int64 است.

نتیجه دیگری که مهم است، اینکه، اگر ستونی را از DataFrame جدا و آنرا درون متغیری ذخیره کنیم، متغیر از نوع Series خواهد بود. توجه کنید DataFrame ها به صورت آرایه های دو بعدی (Two-Dimensional) هستند ولی Series ها به صورت آرایه های تک بعدی هستند که می توانند هر ستون از DataFrame ها را در خود نگه دارند.

در کدهای شکل بالا ابتدا یک دیشکنری با سه کلید که هر یک به لستی از انواع صحیح، اعشاری و رشته اشاره می کنند را به کلاس DataFrame ارسال کرده ایم. از خصوصیتی (Property) به نام dtypes از کلاس DataFrame می توانیم انواع هر یک از ستون های DataFrame را پیدا کنیم.

ایجاد Series ها توسط ماژول Numpy

همانطور که توضیح دادیم نوع ساختار داده Series به صورت آرایه های تک بعدی هستند، پس به صورت دو قطعه کد زیر و خروجی آن در شکل زیر و از طریق متد ()array از ماژول Numpy می توانیم یک نوع Series ایجاد کنیمتفاوت این دو قطعه کد در این است که در قطعه کد دومی و از طریق آرگومان index از تابع (سازنده) کلاس Series، صراحتا لیستی را به عنوان اندیس های (Index) آرایه تعیین کرده ایم، در غیر این صورت و همانند قطعه کد نخست، اندیس ها از عدد صفر شروع می شوند.

ایجاد Series ها توسط ماژول دیکشنری ها

در قطعه کد زیر ابتدا یک دیشکنری تعریف شده و سپس از طریق این دیکشنری، یک نوع ساختار داده Series ایجاد کرده ایم. توجه کنید که در کدهای زیر، چهار اندیس کاراکتر حرفی به آرگوکان index از تابع سازنده کلاس Series ارسال شده است، در حالی که در متغیر data تنها سه کلید وجود دارد، پس مطابق شکل زیر برای اندیس d که در فهرست کلیدهای متغیر data وجود ندارد، مقدار NaN قرار می گیرد. توجه کنید طبق کد زیر لیستی که برای آرگومان index تعیین شده، حرف b اندیس نخست و حرف c اندیس دوم و الی آخر.

دسترسی و بدست آوردن نخستین عنصر درون Series

برای دسترسی به نخستین عنصر درون ساختار داده نوع Series باید همانند کد زیر از اندیس شماره 0 استفاده کنید. البته این زمانی است که در متد سازنده کلاس Series و توسط آرگومان index صراحتا اندیس گذاری را تعیین نکرده باشیم. به عبارت دیگر اندیس گذاری پیش فرض به صورت عددی و شماره عنصر نسخت، اندیس عددی 0 است. در کد ساده زیر فرض شد

در کدهای زیر اندیس گذاری متفاوت است، به عبارتی شماره اندیس ها عددهای دلخواه هستند. بنابراین باید از همین شماره ها برای دسترسی به عنصرهای آنها استفاده کنید. به طور مثال چون در لیست انتساب داده شده به آرگومان index در زیر، عدد 1000 اولین اندیس است، پس برای دسترسی به عنصر نخست باید از همین عدد استفاده شود و به همین ترتیب برای دیگر اندیس ها و عنصرهای انتساب داده شده به آنها.

۱ – دسترسی و بدست آوردن n عنصر نسخت درون Series

فرض کنید Series با ۶ عنصر داریم و می خواهیم ۴ عنصر ابتدایی آنرا انتخاب کنیم، در این حالت باید از کد زیر استفاده کنیم.

۲ – دسترسی و بدست آوردن n عنصر انتهایی درون Series

فرض کنید می خواهیم ۴ عنصر انتهایی درون Series را بدست آوریم، برای این منظور باید از عددی منفی و به صورت زیر استفاده کنیم.

۳ – دسترسی و بدست آوردن چندین عنصر درون Series

فرض کنید می خواهیم چندین عنصر درون Series را بدست آوریم، برای این منظور باید شماره اندیس ها را به صورت کد زیر در غالب یک لیست تعیین کنیم.

دانلود سورس برنامه های این مطلب Pandas Series