خلاصه تحلیل داده با استفاده از کتابخانه پاندا در پایتون
کتابخانه پاندا یکی از قدرتمندترین کتابخانه های پایتون است. این کتابخانه بر اساس NumPy ساخته شده است و ساختارهای دادهای آسان برای استفاده و ابزار تجزیه و تحلیل دادهها را برای زبان برنامه نویسی پایتون فراهم می کند.
برای یادگیری توابع و ابزارهای مختلفی که پاندا ارائه می دهد ، به بخشهای زیر مراجعه کنید.
بخشها:
- ساختارهای داده پاندا
- حذف
- مرتب سازی و رتبه بندی
- بازیابی اطلاعات سری / دیتافریم
- خلاصه DataFrame
- انتخاب
- اعمال توابع
- هم ترازی داده ها
- ورود / خروج
ساختارهای داده پاندا
دو نوع ساختار داده اصلی وجود دارد که اساس کتابخانه Pandas است. اولی یک آرایه یک بعدی به نام سری است و دومی یک جدول دو بعدی به نام DataFrame.
سریها – آرایههای یک بعدی
[python]
s = pd.Series([3, -5, 7, 4], index = [‘a’,’b’,’c’,’d’])
a 3
b -5
c 7
d 4
[/python]
DataFrame – یک ساختار داده ای دو بعدی
[python]
>>> data = {‘Country’:[‘Belgium’,’India’,’Brazil’], ‘Capital’:[‘Brussels’,’New Delhi’,’Brasilia’], ‘Population’:[‘111907′,’1303021′,’208476’]}
>>> df = pd.DataFrame(data, columns = [‘Country’,’Capital’,’Population’])
Country Capital Population
0 Belgium Brussels 111907
1 India New Delhi 1303021
2 Brazil Brasilia 208476
[/python]
حذف
در این بخش ، شما نحوه حذف مقادیر خاص از یک سری و نحوه حذف ستون ها یا ردیف ها را از DataFrame یاد خواهید گرفت.
s و df در کد زیر به عنوان نمونه ای از یک سری و DataFrame در کل این بخش استفاده می شود.
[python]
>>> s
a 6
b -5
c 7
d 4
>>> df
Country Capital Population
0 Belgium Brussels 111907
1 India New Delhi 1303021
2 Brazil Brasilia 208476
[/python]
مقادیر را از سطرها حذف کنید (axis=0)
[python]
>>> s.drop([‘a’,’c’])
b -5
d 4
[/python]
مقادیر را از ستونها حذف کنید (axis=1)
[python]
>>> df.drop(‘Country’, axis = 1)
Capital Population
0 Brussels 111907
1 New Delhi 1303021
2 Brasilia 208476
[/python]
مرتب سازی و رتبه بندی
در این بخش ، شما می آموزید که چگونه داده های فریم را بر اساس شاخص یا ستون مرتب کنید ، همراه با نحوه رتبه بندی مقادیر ستون.
df در کد زیر به عنوان مثال DataFrame در کل این بخش استفاده شده است.
[python]
>>> df Country
Capital Population
0 Belgium Brussels 111907
1 India New Delhi 1303021
2 Brazil Brasilia 208476
[/python]
مرتب سازی بر اساس برچسب ها در امتداد یک محور
[python]
>>> df.sort_index()
Country Capital Population
0 Belgium Brussels 111907
1 India New Delhi 1303021
2 Brazil Brasilia 208476
[/python]
مرتب سازی بر اساس مقادیر در امتداد یک محور
[python]
>>> df.sort_values(by = ‘Country’)
Country Capital Population
0 Belgium Brussels 111907
2 Brazil Brasilia 208476
1 India New Delhi 1303021
[/python]
اختصاص رتبه ها به ورودی ها
[python]
>>> df.rank() Country Capital Population
0 1.0 2.0 1.0
1 3.0 3.0 2.0
2 2.0 1.0 3.0
[/python]
بازیابی اطلاعات سری/دیتافریم
در این بخش ، شما می آموزید که چگونه اطلاعات را از DataFrame بازیابی کنید که شامل ابعاد، انواع ستون نام ستون و دامنه شاخص است.
df در کد زیر به عنوان مثال DataFrame در کل این بخش استفاده شده است.
[python]
>>> df Country
Capital Population
0 Belgium Brussels 111907
1 India New Delhi 1303021
2 Brazil Brasilia 208476
[/python]
(سطرها/ستونها)
[python]
>>> df.shape
(3, 3)
[/python]
شرح ایندکس
[python]
>>> df.index
RangeIndex(start=0, stop=3, step=1)
[/python]
شرح ستونهای DataFrame
[python]
>>> df.columns
Index([‘Country’, ‘Capital’, ‘Population’], dtype=’object’)
[/python]
اطلاعات DataFrame
[python]
>>> df.info()
<class ‘pandas.core.frame.DataFrame’>
RangeIndex: 3 entries, 0 to 2
Data columns (total 3 columns):
Country 3 non-null object
Capital 3 non-null object
Population 3 non-null object
dtypes: object(3)
memory usage: 152.0+ bytes
[/python]
تعداد مقادیر غیر خطا
[python]
>>> df.count()
Country 3
Capital 3
Population 3
<strong>[/python]
خلاصه DataFrame
در این بخش ، شما یاد خواهید گرفت که چگونه آمار خلاصه DataFrame را بازیابی کنید این آمار شامل جمع هر ستون، حداقل/حداکثر مقادیر هر ستون ، مقادیر متوسط هر ستون و سایر موارد است.
df در کد زیر به عنوان نمونه DataFrame در کل این بخش استفاده شده است.
[python]
>>> df Even Odd
0 2 1
1 4 3
2 6 5
[/python]
جمع مقادیر
[python]
>>> df.sum()
Even 12
Odd 9
[/python]
جمع تجمعی مقادیر
[python]
>>> df.cumsum() Even Odd
0 2 1
1 6 4
2 12 9
[/python]
حداقل مقادیر
[python]
>>> df.min()
Even 2
Odd 1
[/python]
حداکثر مقادیر
[python]
>>> df.max()
Even 6
Odd 5
[/python]
خلاصه آماری
[python]
>>> df.describe() Even Odd
count 3.0 3.0
mean 4.0 3.0
std 2.0 2.0
min 2.0 1.0
25% 3.0 2.0
50% 4.0 3.0
75% 5.0 4.0
max 6.0 5.0
[/python]
میانگین مقادیر
[python]
>>> df.mean()
Even 4.0
Odd 3.0
[/python]
میانه مقادیر
[python]
>>> df.median()
Even 4.0
Odd 3.0
[/python]
انتخاب
در این بخش ، شما یاد خواهید گرفت که چگونه مقادیر خاص را از یک Series و DataFrame بازیابی کنید.
s و df در کد زیر به عنوان نمونه ای از یک Series و DataFrame در کل این بخش استفاده می شود.
[python]
>>> s
a 6
b -5
c 7
d 4>>> df Country Capital Population
0 Belgium Brussels 111907
1 India New Delhi 1303021
2 Brazil Brasilia 208476
[/python]
دریافت مقدار عنصر
[python]
>>> s[‘b’]
-5
[/python]
دریافت زیرمجموعه ای از DataFrame
[python]
>>> df[1:]
Country Capital Population
1 India New Delhi 1303021
2 Brazil Brasilia 208476
[/python]
یک مقدار را با ردیف و ستون انتخاب کنید
[python]
>>> df.iloc[0,0]
‘Belgium’
[/python]
یک مقدار را با استفاده از برچسب سطر و ستون انتخاب کنید
[python]
>>> df.loc[0,’Country’]
‘Belgium’
[/python]
یک ردیف از ردیف های زیر مجموعه را انتخاب کنید
[python]
>>> df.ix[2]
Country Brazil
Capital Brasilia
Population 208476
[/python]
یک ستون از ستونهای زیر مجموعه را انتخاب کنید
[python]
>>> df.ix[:,’Capital’]0 Brussels
1 New Delhi
2 Brasilia
[/python]
انتخاب ردیفها و ستونها
[python]
>>> df.ix[1,’Capital’]
‘New Delhi’
[/python]
استفاده از فیلترها برای تنظیم DataFrame
[python]
>>> df[df[‘Population’] > 120000] Country Capital Population
1 India New Delhi 1303021
2 Brazil Brasilia 208476
[/python]
تغییر مقدار ایندکس a از یک سری به مقدار ۶
[python]
>>> s[‘a’] = 6
a 6
b -5
c 7
d 4
[/python]
اعمال توابع
در این بخش ، شما می آموزید که چگونه یک تابع را به تمام مقادیر DataFrame یا یک ستون خاص اعمال کنید.
df در کد زیر به عنوان نمونه DataFrame در کل این بخش استفاده شده است.
[python]
>>> df
Even Odd
0 2 1
1 4 3
2 6 5
[/python]
اعمال تابع
[python]
>>> df.apply(lambda x: x*2)
Even Odd
0 4 2
1 8 6
2 12 10
[/python]
تراز کردن داده ها
در این بخش ، شما می آموزید که چگونه دو سری را که دارای ایندکسها مختلف نسبت به یکدیگر هستند ، اضافه ، کم و تقسیم کنید.
s و s3 در کد زیر به عنوان نمونه سری در این بخش استفاده می شود.
[python]
>>> s
a 6
b -5
c 7
d 4
>>> s3
a 7
c -2
d 3
[/python]
تراز داخلی دادهها
[python]
>>> s + s3
a 13.0
b NaN
c 5.0
d 7.0
#NA values are introduced in the indices that don’t overlap
[/python]
عملیات حساب با متدهای پر کردن
[python]
>>> s.add(s3, fill_value = 0)
a 13.0
b -5.0
c 5.0
d 7.0
>>> s.sub(s3, fill_value = 2)
a -1.0
b -7.0
c 9.0
d 1.0
>>> s.div(s3, fill_value = 4)
a 0.857143
b -1.250000
c -3.500000
d 1.333333
[/python]
ورود/خروج
در این بخش ، شما می خوانید که چگونه با استفاده از Pandas یک فایل CSV ، فایل Excel و SQL Query را در Python بخوانید. همچنین می توانید یاد بگیرید که چگونه DataFrame را از Pandas به یک فایل CSV ، فایل Excel و SQL Query صادر کنید.
خواندن از فایل CSV
[python]
>>> pd.read_csv(‘file.csv’)
[/python]
ذخیره در فایل CSV
[python]
>>> df.to_csv(‘myDataFrame.csv’)
[/python]
ذخیره در فایل اکسل
[python]</pre>
<p style=”direction: ltr;”>>>> pd.to_excel(‘dir/’myDataFrame.xlsx’)</p>
<pre>[/python]
خواندن چندین برگه از یک فایل اکسل
[python]
>>> xlsx = pd.ExcelFile(‘file.xls’)
>>> df = pd.read_excel(xlsx, Sheet1′)
[/python]
خواندن SQL Query
[python]
>>> from sqlalchemy import create_engine
>>> engine = create_engine(‘sqlite:///:memory:’)
>>> pd.read_sql(‘SELECT * FROM my_table;’, engine)
>>> pd.read_sql_table(‘my_table’, engine)
[/python]
ذخیره در SQL Query
[python]
>>> pd.to_sql(‘myDF’, engine)
[/python]
پایتون در حال حاضر و در آینده ای قابل پیش بینی بهترین گزینه در زمینه علوم داده است. آشنایی با Pandas ، یکی از قدرتمندترین کتابخانه های پایتون، امروزه اغلب مورد نیاز دانشمندان داده است.
برای شروع کار با پاندا، از این صفحه خلاصه به عنوان راهنما استفاده کنید و در صورت لزوم به آن مراجعه مجدد داشته باشید، تا در استفاده از کتابخانه پاندا تسلط پیدا کنید.
درباره حسین صابری
عضو هیئت علمی دانشگاه آزاد - ارشد حسابداری (دانشجوی دکتری حسابداری) - کارشناس رسمی قوه قضاییه (حسابداری و حسابرسی) - برنامه نویس و مدرس کامپیوتر
نوشته های بیشتر از حسین صابری
دیدگاهتان را بنویسید