پایتون برای مدیریت دادهها در فرمتهای مختلف، عمدتاً از دو کتابخانه Pandas و NumPy استفاده میکند. در بخشهای قبل، ویژگیهای مهم این دو کتابخانه را معرفی کردیم. در ادامه، برای درک بهتر مفهوم عملیات داده در پایتون، به بررسی چند مثال پایهای از کتابخانههای Pandas و NumPy میپردازیم. این مثالها بهصورت عملی نشان میدهند چگونه میتوان دادهها را پردازش و مدیریت کرد.
عملیات دادهای در NumPy
مهمترین شیء تعریفشده در کتابخانه NumPy، نوع آرایه N-بعدی با نام ndarray
است. این نوع آرایه مجموعهای از عناصر با نوع داده یکسان را توصیف میکند. برای دسترسی به عناصر این مجموعه، از ایندکسگذاری صفرپایه استفاده میشود. نمونهای از کلاس ndarray
را میتوان با استفاده از روشهای مختلفی که در ادامه آموزش معرفی خواهند شد، ایجاد کرد. سادهترین روش برای ایجاد این آرایه استفاده از تابع array
در NumPy است که ساختار آن به صورت زیر است:
1 |
numpy.array |
مثال 1: آرایه چندبعدی
1 2 3 4 |
# more than one dimensions import numpy as np a = np.array([[1, 2], [3, 4]]) print a |
مثال 2: حداقل تعداد ابعاد
1 2 3 4 |
# minimum dimensions import numpy as np a = np.array([1, 2, 3,4,5], ndmin = 2) print a |
مثال 3: تعیین نوع داده
1 2 3 4 |
# dtype parameter import numpy as np a = np.array([1, 2, 3], dtype = complex) print a |
[1.+0.j 2.+0.j 3.+0.j]
عملیات دادهای در Pandas
کتابخانه Pandas برای مدیریت دادهها از سه ساختار اصلی استفاده میکند: Series، DataFrame و Panel. در این بخش، نحوه عملکرد هرکدام را با ذکر مثال بررسی میکنیم.
Series در Pandas
ساختار Series در Pandas نوعی آرایه یکبعدی است که هر عنصر آن دارای یک برچسب (Index) اختصاصی است. این ساختار میتواند انواع مختلفی از دادهها مانند اعداد صحیح، رشتهها، اعداد اعشاری و حتی اشیای پایتون را نگهداری کند. ایندکس، مجموعهای از برچسبهاست که برای شناسایی عناصر این آرایه بهکار میرود.
برای ایجاد یک Series، میتوان از سازنده (constructor) زیر استفاده کرد:
1 |
pandas.Series(data, index, dtype, copy) |
مثال: ایجاد Series از آرایه NumPy
1 2 3 4 5 6 |
#import the pandas library and aliasing as pd import pandas as pd import numpy as np data = np.array(['a','b','c','d']) s = pd.Series(data) print s |
1 2 3 4 5 |
0 a 1 b 2 c 3 d dtype: object |
DataFrame در Pandas
ساختار DataFrame یک جدول دوبعدی است که دادهها را بهصورت ردیفها و ستونها نمایش میدهد. این ساختار برای تحلیل دادههای ساختیافته بسیار پرکاربرد است. برای ساخت یک DataFrame میتوان از سازنده زیر استفاده کرد:
1 |
pandas.DataFrame( data, index, columns, dtype, copy) |
1 2 3 4 |
import pandas as pd data = {'Name':['Tom', 'Jack', 'Steve', 'Ricky'],'Age':[28,34,29,42]} df = pd.DataFrame(data, index=['rank1','rank2','rank3','rank4']) print df |
1 2 3 4 5 |
Age Name rank1 28 Tom rank2 34 Jack rank3 29 Steve rank4 42 Ricky |
Panel در Pandas
در کتابخانه Pandas، Panel بهعنوان یک ساختار سهبعدی برای نگهداری دادهها شناخته میشود. Panel Data مفهومی است که از اقتصادسنجی وارد حوزه تحلیل داده شده است. واژه pandas نیز از ترکیب حروف ابتدایی pan(el)-da(ta)-s شکل گرفته است.
برای ایجاد یک Panel، میتوان از سازنده (constructor) زیر استفاده کرد:
1 |
pandas.Panel(data, items, major_axis, minor_axis, dtype, copy) |
در مثال زیر، یک Panel با استفاده از دیکشنری شامل دو شیء DataFrame ایجاد میکنیم. هر DataFrame به عنوان یکی از آیتمهای Panel در نظر گرفته میشود:
1 2 3 4 5 6 7 8 |
#creating an empty panel import pandas as pd import numpy as np data = {'Item1' : pd.DataFrame(np.random.randn(4, 3)), 'Item2' : pd.DataFrame(np.random.randn(4, 2))} p = pd.Panel(data) print p |
نتیجه اجرای کد به صورت زیر خواهد بود:
1 2 3 4 5 |
<class 'pandas.core.panel.Panel'> Dimensions: 2 (items) x 4 (major_axis) x 5 (minor_axis) Items axis: 0 to 1 Major_axis axis: 0 to 3 Minor_axis axis: 0 to 4 |
راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام سورس باران عضو شوید.
- انتشار: ۱۶ مرداد ۱۴۰۴
دسته بندی موضوعات
- آموزش ارز دیجیتال
- آموزش برنامه نویسی
- آموزش متنی برنامه نویسی
- اطلاعیه و سایر مطالب
- پروژه برنامه نویسی
- دوره های تخصصی برنامه نویسی
- رپورتاژ
- فیلم های آموزشی
- ++C
- ADO.NET
- Adobe Flash
- Ajax
- AngularJS
- apache
- ARM
- Asp.Net
- ASP.NET MVC
- AVR
- Bootstrap
- CCNA
- CCNP
- CMD
- CSS
- Dreameaver
- EntityFramework
- HTML
- IOS
- jquery
- Linq
- Mysql
- Oracle
- PHP
- PHPMyAdmin
- Rational Rose
- silver light
- SQL Server
- Stimulsoft Reports
- Telerik
- UML
- VB.NET&VB6
- WPF
- Xml
- آموزش های پروژه محور
- اتوکد
- الگوریتم تقریبی
- امنیت
- اندروید
- اندروید استودیو
- بک ترک
- بیسیک فور اندروید
- پایتون
- جاوا
- جاوا اسکریپت
- جوملا
- دلفی
- دوره آموزش Go
- دوره های رایگان پیشنهادی
- زامارین
- سئو
- ساخت CMS
- سی شارپ
- شبکه و مجازی سازی
- طراحی الگوریتم
- طراحی بازی
- طراحی وب
- فتوشاپ
- فریم ورک codeigniter
- فلاتر
- کانستراکت
- کریستال ریپورت
- لاراول
- معماری کامپیوتر
- مهندسی اینترنت
- هوش مصنوعی
- یونیتی
- کتاب های آموزشی
- Android
- ASP.NET
- AVR
- LINQ
- php
- Workflow
- اچ تی ام ال
- بانک اطلاعاتی
- برنامه نویسی سوکت
- برنامه نویسی موبایل
- پاسکال
- پایان نامه
- پایتون
- جاوا
- جاوا اسکریپت
- جی کوئری
- داده کاوی
- دلفی
- رباتیک
- سئو
- سایر کتاب ها
- سخت افزار
- سی اس اس
- سی پلاس پلاس
- سی شارپ
- طراحی الگوریتم
- فتوشاپ
- مقاله
- مهندسی نرم افزار
- هک و امنیت
- هوش مصنوعی
- ویژوال بیسیک
- نرم افزار و ابزار برنامه نویسی
- وردپرس