فهرست
قدم اول در پردازش دادهها، بررسی اولیه و مشاهده دادهها جهت کسب اطلاعات بیشتر در مورد ساختار داده خوانده شده است. برای این منظور Pandas توابع مختلفی فراهم آورده است که در این بخش به معرفی تعدادی از آنها میپردازیم.
در تمامی بخشهای زیر، برای نشاندادن نحوه عملکرد تابع مربوطه، نیاز به یک DataFrameداریم. بههمین منظور، DataFrame زیر را تعریف کرده و در ادامهی این فصل، در تمامی بخشها، مثالها بر روی این DataFrame انجام میشوند:
import pandas as pd
import numpy as np
provinces = {'Province' : ['Ardabil', 'Busheshr', 'Fars', 'Gilan', 'Isfahan', 'Tehran', 'Yazd' ],
'Center' : ['Ardabil', 'Busheshr', 'Shiraz', 'Rasht', 'Isfahan', 'Tehran', 'Yazd' ],
'population': [1284000, 1174000, 4904000, np.NaN, 5136000, 13323000, 1156000],
'area (km2)': [17800, 22743, 122608, 14042, 107029, 12981, np.NaN]
}
provincesDF = pd.DataFrame(provinces)
print(provincesDF)
.
Province Center population area (km2)
-----------------------------------------------
0 Ardabil Ardabil 1284000.0 17800.0
1 Busheshr Busheshr 1174000.0 22743.0
2 Fars Shiraz 4904000.0 122608.0
3 Gilan Rasht NaN 14042.0
4 Isfahan Isfahan 5136000.0 107029.0
5 Tehran Tehran 13323000.0 12981.0
6 Yazd Yazd 1156000.0 NaN
مشاهده n سطر ابتدای داده
DataFrame.head(n)
این تابع n
سطر اول از دادههای موجود در DataFrame را برمیگرداند. تنها پارامتر آن عبارت است از:
n
: تعداد سطر از ابتدای DataFrame. مقدار پیشفرض آن برابر ۵ است.
اگر n
از تعداد سطور بیشتر باشد، همهی سطرها را بازمیگرداند. اگر n عددی منفی باشد، تعداد n
سطر از انتهای داده را بازمیگرداند.
مثال: کد زیر ۴ سطر اول داده موجود در providenceDF
را نشان میدهد.
provincesDF.head(4)
.
Province Center population area (km2)
-----------------------------------------------
0 Ardabil Ardabil 1284000.0 17800.0
1 Busheshr Busheshr 1174000.0 22743.0
2 Fars Shiraz 4904000.0 122608.0
3 Gilan Rasht NaN 14042.0
مشاهده n سطر انتهای داده
DataFrame.tail(n)
این تابع n
سطر انتهایی از دادههای موجود در DataFrame را برمیگرداند. تنها پارامتر آن عبارت است از:
n
: تعداد سطر از انتهای DataFrame. مقدار پیشفرض آن برابر ۵ است.
اگر n
از تعداد سطور بیشتر باشد، همهی سطور را بازمیگرداند. اگر n عددی منفی باشد، تمامی سطور بهجز n
سطر ابتدایی داده را بازمیگرداند.
مثال: کد زیر ۳ سطر انتهای داده موجود در providenceDF
را نشان میدهد:
provincesDF.tail(3)
.
Province Center population area (km2)
-----------------------------------------------
4 Isfahan Isfahan 5136000.0 107029.0
5 Tehran Tehran 13323000.0 12981.0
6 Yazd Yazd 1156000.0 NaN
مشاهده تعداد سطر و ستون داده
DataFrame.shape
خروجی یک تاپل است. عنصر اول تعداد سطر و عنصر دوم تعداد ستونها را نشان میدهد.
!!! دقت شود که shape
یک ویژگی از کلاس DataFrame است و نه یک تابع. به همین علت در استفاده از آن، ()
بهکار نمیرود.
print(provincesDF.shape)
print("Number of rows:", provincesDF.shape[0])
print("Number of columns:", provincesDF.shape[1])
(7, 4)
Number of rows: 7
Number of columns: 4
مشاهده نام ستونها
DataFrame.columns
یک لیست حاوی ستونهای DataFrame را برمیگرداند.
!!! دقت شود که columns
یک ویژگی از کلاس DataFrame است و نه یک تابع. به همین علت در استفاده از آن، ()
بهکار نمیرود.
print(provincesDF.columns)
print(provincesDF.columns[2])
Index(['Province', 'Center', 'population', 'area (km2)'], dtype='object')
population
مشخصات کلی DataFrame
()DataFrame.info
خلاصهای از مشخصات کلی DataFrame به همراه نام و نوع ستونها و حجم حافظه اشغالی را برمیگرداند.
provincesDF.info()
RangeIndex: 7 entries, 0 to 6
Data columns (total 4 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Province 7 non-null object
1 Center 7 non-null object
2 population 6 non-null int64
3 area (km2) 6 non-null int64
dtypes: int64(2), object(2)
memory usage: 352.0+ bytes
همانگونه که مشاهده میشود، تابع ()info
بیان میکند که:
provincesDF
از جنس DataFrame میباشد.- دارای ۴ ستون است. ۲ ستون از جنس
int64
و ۲ ستون آن از جنسobject
میباشند. (ستونهای از جنسstring
را باobject
نشان میدهد). - ۲ ستون اول در تمامی سطرها مقدار دارند (
7 non-null
). ۲ ستون انتهایی در ۶ سطر مقدار دارند (6 non-null
). - فضای اشغالشده توسط این DataFrame در حافظه برابر با ۳۵۲ بایت است.
مشخصات آماری DataFrame
()DataFrame.describe
خلاصهی آماری ستونهایی که مقدار عددی دارند را برمیگرداند. این خلاصه شامل موارد زیر میشود:
- count: تعداد نمونههایی که در این ستون مقدار دارند (Null و یا NaN نیستند)
- mean: میانگین مقادیر این ستون.
- std: انحراف از مقادیر این ستون.
- min: کمترین مقدار موجود در این ستون (مقدار کمینه).
- 25%: چارک اول مقادیر این ستون (percentile 25%).
- 50%: میانه مقادیر این ستون.
- 75%: چارک سوم مقادیر این ستون (percentile 75%).
- max: بیشترین مقدار موجود در این ستون (مقدار بیشینه).
provincesDF.describe()
.
population area (km2)
-------------------------------------
count 6.000000e+00 6.000000
mean 4.496167e+06 49533.833333
std 4.711692e+06 50923.654250
min 1.156000e+06 12981.000000
25% 1.201500e+06 14981.500000
50% 3.094000e+06 20271.500000
75% 5.078000e+06 85957.500000
max 1.332300e+07 122608.000000