جلسه سی و ششم کتاب علم داده با استفاده از پایتون python data science handbook
Автор: python پایتون
Загружено: 2022-05-08
Просмотров: 69
Описание:
جلسه سی و ششم کتاب علم داده با استفاده از پایتون python data science handbook
شی DataFram از پکیج Pandas
ساختار پایه بعدی در Pandas شی DataFrame است. ماند شی Series که در بخش قبلی بحث شد، شی ، DataFrame را میتوان به عنوان عمومی سازی شده از آرایه Numpy در نظر گرفت یا به عنوان یک دیکشنری پایتون با خصوصیات خاص در نظرگرفت. ما اکنون نگاهی به هرکدام از این دیدگاه ها می اندازیم.
شی DataFrame را میتوان به عنوان آرایه Numpy توسعه داده شده در نظر گرفت.
اگر یک Series یک آرایه یک بعدی آنالوگ با ایندکسهای انعظاف پذیر باشد، یک شی DataFrame یک ارایه دو بعدی آنالوگ با ایندکسهای انعطاف پذیر سطری و نامهای انعطاف پذیرستونی است.همانطور که شما ممکن است فکر کنید که یک آرایه دو بعدی یک ترتیب تخصیصسس یافته از ستونهای یک بعدی است شما میتوانید شی DataFrame را مانند یک ترتیب از شی های Series فرض نمایید که در اینجا از عبارت هم راستا منظور ما این است که ایندکسهای یکسان به اشتراک میگذارند.
برای نشان دادن این موضوع ابتدا یک لیست Series از مساحتهای پنج ایالت بحث شده در بخش قبلی می آوریم:
In[18]:
area_dict = {'California': 423967, 'Texas': 695662, 'New York': 141297,
'Florida': 170312, 'Illinois': 149995}
area = pd.Series(area_dict)
area
Out[18]: California 423967
Florida 170312
Illinois 149995
New York 141297
Texas 695662
dtype: int64
اکنون که این را ایجاد کردیم با توجه به شی population که ازنوع Series بود، ما میتوانیم از یک دیکشنری برای ساخت یک شی دو بعدی ساده شامل این اطلاعات استفاده کنیم:
In[19]: states = pd.DataFrame({'population': population,
'area': area})
states
Out[19]: area population
California 423967 38332521
Florida 170312 19552860
Illinois 149995 12882135
New York 141297 19651127
Texas 695662 26448193
مانند شی Series شی DataFrame یک خصوصیت index دارد که میتوان از ان طریق به برچسبهای ایندکس دسترسی پیدا کرد:
In[20]: states.index
Out[20]:
Index(['California', 'Florida', 'Illinois', 'New York', 'Texas'], dtype='object')
علاوه بر آن DataFrame یک خصوصیت columns دارد که یمک شی Index است که برچسبهای ستونها را نگه می دارد.
In[21]: states.columns
Out[21]: Index(['area', 'population'], dtype='object')
بنابراین DataFrame را میتوانید به عنوان آرایه Numpy توسعه داده شده فرض کنید، که سطرها و ستونها ایندکسهای توسعه یافته برای دسترسی به داده هستند.
DataFrame به عنوان یک دیکشنری تخصیص یافته
بطور مشابه، ما میتوانیم همچنین فکر کنیم که اشیای از نوع کلاس DataFrame یک دیکشنری تخصیص یافته است. یک دیکشنری یک کلید را به یک ارزش نگاشت می نماید در حالیکه یک شی از نوع کلاس DataFrame یک نام ستون را به یک شی Series از داده ستونی نگاشت می نماید. برای مثال، وقتی که خصوصیت ‘area’مورد درخواس واقع می شود شی Series شامل مساحتها بازگردانده میوشد ما قبل تر دیدیدم که:
In[22]: states['area']
Out[22]: California 423967
Florida 170312
Illinois 149995
New York 141297
Texas 695662
Name: area, dtype: int64
توجه کنید که نقطه بالقوه عدم اطمینان در اینجا وجود دارد: در یک آرایه Numpy دو بعدی data[0] اولین سطر را بر میگرداند. برای شی DataFrame کد data[‘col0’] اولین ستون را بر میگرداند. به خاطر این، بهتر است که احتمالا فکر کنیم درباره اشیای DataFrames به عنوان دیکشنریهای توسعه یافته بجای اینکه فکر کنیم آنها آرایه های توسعه یافته هستند، بنابراین، هر دو را نگاه به این وضعیت مفید است. ما ابزارهایانعطاف پذیر تر بیشتر از DataFrames را در صفحه 107 مبحث Data Indexing and Selection تحلیل می نماییم.
ایجاد کردن اشیای DataFrame
یک DataFrame را میتوان به روشهای مختلفی ایجاد کرد. ما چندین روش را به عنوان مثال می آوریم.
ایجاد کردن یک شی DataFrame پکیج pandas از طریق شی Series پکیج Pandas
Illinois 149995
New York 141297
Texas 695662
Name: area, dtype: int64
Notice the potential point of confusion here: in a two-dimensional NumPy array,
data[0] will return the first row. For a DataFrame, data['col0'] will return the first
column. Because of this, it is probably better to think about DataFrames as generalized
dictionaries rather than generalized arrays, though both ways of looking at the situa‐
tion can be useful. We’ll explore more flexible means of indexing DataFrames in “Data
Indexing and Selection” on page 107.
Constructing DataFrame objects
A Pandas DataFrame can be constructed in a variety of ways. Here we’ll give several
examples.
From a single Series object. A DataFrame is a collection of Series objects, and a single-
column DataFrame can be constructed from a single Series:
In[23]: pd.DataFrame(population, columns=['population'])
Out[23]: population
California 38332521
Florida 19552860
Illinois 12882135
New York 19651127
Texas 26448193
ایجاد یک شی DataFrame از طریق یک لیست از دیکشنریها
هر لیست از دیکشنریها میتواند یک شی DataFrame را بسازد. ما از یک لیست ساده برای تولید داده مورد نیاز استفاده می کنیم.
In[24]: data = [{'a': i, 'b': 2 * i}
for i in range(3)]
pd.DataFrame(data)
Out[24]: a b
0 0 0
1 1 2
2 2 4
اگر بعضی از کلیدها در دیکشنری نباشند. Pandas آنها را با Nan به معنی not a number پر می کند:
In[25]: pd.DataFrame([{'a': 1, 'b': 2}, {'b': 3, 'c': 4}])
Out[25]: a b c
0 1.0 2 NaN
1 NaN 3 4.0
ایجاد شی DataFrame از طریق یک دیکشنری از اشیای Series
همانطور که قبلا دیدیم یک DataFrame را میتوان از یک دیکشنری از اشیای Series ساخت:
In[26]: pd.DataFrame({'population': population,
'area':
Повторяем попытку...

Доступные форматы для скачивания:
Скачать видео
-
Информация по загрузке: