ساختار داده‌های اصلی Pandas

خواندن و نوشتن داده از/به فایل

مشاهده و بررسی اولیه داده‌ها

پیش‌پرداز و پاکسازی داده‌ها

انتخاب و فیلترینگ داده‌ها

اِعمال توابع

مرتب‌سازی

آمار تجمیعی

چسباندن چند DataFrame

ترکیب چند DataFrame

مطالعه بیشتر

بررسی اولیه داده‌ها و ساختار DataFrame

فهرست

قدم اول در پردازش داده‌ها، بررسی اولیه و مشاهده داده‌ها جهت کسب اطلاعات بیشتر در مورد ساختار داده خوانده شده است. برای این منظور 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()

				
			
				
					<class 'pandas.core.frame.DataFrame'>
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
				
			
Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors