翻譯|使用教程|編輯:鮑佳佳|2021-03-04 10:40:31.320|閱讀 134 次
概述:當(dāng)您開(kāi)始使用Python進(jìn)行數(shù)據(jù)分析和數(shù)據(jù)科學(xué)時(shí),Pandas是您將學(xué)習(xí)的第一個(gè)庫(kù)之一。其可幫助您處理數(shù)據(jù)集,轉(zhuǎn)換和清理數(shù)據(jù)以及獲取統(tǒng)計(jì)信息。在本教程中,我們將回答人們?cè)谑褂眯茇垥r(shí)遇到的10個(gè)最常見(jiàn)的問(wèn)題。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
PyCharm是一種Python IDE,其帶有一整套可以幫助用戶在使用Python語(yǔ)言開(kāi)發(fā)時(shí)提高其效率的工具。此外,該IDE提供了一些高級(jí)功能,以用于Django框架下的專業(yè)Web開(kāi)發(fā)。PyCharm現(xiàn)已加入在線訂購(gòu),點(diǎn)擊此處了解價(jià)格詳情。
Pandas教程:Python數(shù)據(jù)框架的10個(gè)常見(jiàn)問(wèn)題
當(dāng)您開(kāi)始使用Python進(jìn)行數(shù)據(jù)分析和數(shù)據(jù)科學(xué)時(shí),Pandas是您將學(xué)習(xí)的第一個(gè)庫(kù)之一。其可幫助您處理數(shù)據(jù)集,轉(zhuǎn)換和清理數(shù)據(jù)以及獲取統(tǒng)計(jì)信息。
在本教程中,我們將回答人們?cè)谑褂眯茇垥r(shí)遇到的10個(gè)最常見(jiàn)的問(wèn)題。
數(shù)據(jù)集
在本教程的第一部分中,我們將使用包含城市人口樣本數(shù)據(jù)以及有關(guān)土地面積和人口密度的一些信息的數(shù)據(jù)集。
Pandas Loc和iloc
pandas.loc[] 有助于通過(guò)標(biāo)簽或布爾數(shù)組切片訪問(wèn)一組行和列。
讓我們選擇墨西哥城的人口。
下面我們僅打印墨西哥城的人口。
使用,.iloc[]您可以使用數(shù)字整數(shù)索引選擇列。
請(qǐng)記住以下幾點(diǎn):
重命名列
接下來(lái),我們將重命名這些列,以使它們將來(lái)更易于訪問(wèn)。
有幾種方法可以做到這一點(diǎn):
在pandas DataFrame中選擇多個(gè)列
讓我們將DataFrame分為兩個(gè)包含以下內(nèi)容的DataFrame:
我們可以通過(guò)幾種方式做到這一點(diǎn):
熊貓按列合并兩個(gè)表
接下來(lái),我們將垂直連接我們創(chuàng)建的兩個(gè)表。這些表具有相同的City列,因此我們將使用該pd.merge函數(shù)來(lái)連接兩個(gè)表。
該left_on和right_on參數(shù)指示列名在第一和第二個(gè)表合并上。
使用pandas更改pandas中的列類型
與數(shù)據(jù)幀的工作進(jìn)一步,我們需要轉(zhuǎn)變Population,Area以及Density從字符串列轉(zhuǎn)換為數(shù)字。
為此,我們將:
分組并變成一個(gè)DataFrame
現(xiàn)在,讓我們對(duì)DataFrame進(jìn)行分組,Country并計(jì)算此數(shù)據(jù)樣本中每個(gè)國(guó)家/地區(qū)的人口。
困難之pd.groupby處在于它返回一個(gè)groupby對(duì)象,而不是DataFrame。在下面的示例中,我們將展示如何從groupby對(duì)象創(chuàng)建DataFrame。
我們將對(duì)進(jìn)行分組Country,同時(shí)計(jì)算Population和Area列的總和。我們將刪除密度列,因?yàn)槲覀儾辉傩枰?
如何在Pandas中的DataFrame中的行上進(jìn)行迭代
盡管遍歷行可能不是最快的解決方案,但有時(shí)仍然可以派上用場(chǎng)。您可以使用循環(huán).iterrows()功能來(lái)做到這一點(diǎn)。
考慮嘗試對(duì)applyPandas DataFrame的函數(shù)或向量化表示執(zhí)行相同的操作。在大型數(shù)據(jù)集上,這將提高計(jì)算速度。
在下面,我們將Population列除以1000,并以千為單位獲得人口數(shù)。下面有3個(gè)替代代碼示例。
如何根據(jù)列值從DataFrame中選擇行
讓我們選擇人口超過(guò)1000萬(wàn)人,面積不到2000平方公里的國(guó)家。
您可以通過(guò)在中輸入邏輯約束來(lái)做到這一點(diǎn)[]。
如何更改DataFrame列的順序
您可以簡(jiǎn)單地通過(guò)以不同順序切片現(xiàn)有的DataFrame來(lái)做到這一點(diǎn)。
用Pandas清理數(shù)據(jù)
要開(kāi)始使用數(shù)據(jù),您需要清理數(shù)據(jù)。
首先的基本步驟是:
讓我們下載帶有網(wǎng)球比賽結(jié)果的數(shù)據(jù)集。
我們將降大任于重復(fù)使用pd.drop_duplicates,以inplace = True將更改應(yīng)用到數(shù)據(jù)幀。
現(xiàn)在,讓我們找出DataFrame中是否存在NaN值。
df.isna().any() 當(dāng)該列包含NaN值時(shí)為True。
在此minutes列中,我們具有91%的NaN值,因此將其刪除,因?yàn)樗话魏斡杏玫男畔ⅰ?
在winner_age,loser_age,loser_rank,和winner_rank列沒(méi)有太多的NaN值,所以我們會(huì)用中位數(shù)代替NaN值。
有了df.describe我們,我們可以獲得有關(guān)數(shù)字列數(shù)據(jù)的統(tǒng)計(jì)信息。
這就是我們的Pandas教程。你學(xué)會(huì)了嗎?立即下載體驗(yàn)吧!您有任何疑問(wèn)或意見(jiàn)歡迎評(píng)論!
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: