官术网_书友最值得收藏!

2.1 Pandas的兩大數(shù)據(jù)結(jié)構(gòu)

2.1.1 初識(shí)Pandas

首先,我們從Pandas的核心數(shù)據(jù)結(jié)構(gòu)講起。Pandas主要有兩種類(lèi)型的數(shù)據(jù)結(jié)構(gòu),分別是Series和DataFrame。這兩種數(shù)據(jù)結(jié)構(gòu)像兩個(gè)可塑性極強(qiáng)的容器,能把遇到的各類(lèi)數(shù)據(jù)都裝進(jìn)去,并按照容器的規(guī)則對(duì)數(shù)據(jù)進(jìn)行高效處理。

為了便于理解,這里拿Excel表格來(lái)做類(lèi)比,如表2-1所示。

表2-1 Excel類(lèi)比樣例表

Series可以看作表中的某一列,這里的語(yǔ)文、數(shù)學(xué)、英語(yǔ)成績(jī)對(duì)應(yīng)的列都是一個(gè)Series。DataFrame則是整張數(shù)據(jù)表,由多列構(gòu)成。Pandas的幾乎所有操作都是基于這些列和表進(jìn)行的。下面分別認(rèn)識(shí)一下Series和DataFrame。

2.1.2 Series和DataFrame

1.表格的三要素

Series和DataFrame的存在是為了更有效率地容納和處理數(shù)據(jù)。實(shí)際應(yīng)用中,我們遇到的大部分?jǐn)?shù)據(jù)是以表格形式存在的,而在處理的時(shí)候往往以列的方式來(lái)進(jìn)行。

在介紹如何創(chuàng)建數(shù)據(jù)之前,先明確表格的基本要素,能夠幫助我們更好地理解Series和DataFrame的特征與原理,知其然并知其所以然,更快地抓住重點(diǎn)。

想象一下,現(xiàn)在有一張數(shù)據(jù)表,我們需要知道哪些基本信息才能隨心所欲地操作它?

1)想要自由地操作任意一列數(shù)據(jù),首先要知道每一列數(shù)據(jù)叫什么,即列名。

2)知道數(shù)據(jù)的總行數(shù)及每一行對(duì)應(yīng)的序號(hào)也很重要,畢竟處理10條數(shù)據(jù)與處理100萬(wàn)條數(shù)據(jù)需要的資源和工具是不一樣的。

3)知道表格里的每個(gè)值具體是多少,這對(duì)于我們的統(tǒng)計(jì)分析結(jié)果來(lái)說(shuō)至關(guān)重要。

總結(jié)一下,表格的三要素如下。

?列名(column):對(duì)應(yīng)著列名,指定操作哪列數(shù)據(jù)。

?索引(index):代表索引,告訴我們有多少行數(shù)據(jù),索引默認(rèn)從0開(kāi)始。

?(value):指代具體的數(shù)據(jù)值。

這3個(gè)基本要素貫穿Pandas數(shù)據(jù)分析的始終,作用是讓我們更加靈活地處理和分析數(shù)據(jù)。

接下來(lái)我們動(dòng)手在Pandas中嘗試創(chuàng)建數(shù)據(jù)。

2.創(chuàng)建DataFrame和Series

如果想在Pandas中創(chuàng)建一張如表2-2所示的表,應(yīng)該如何操作?

表2-2 創(chuàng)建表樣例

Pandas操作的第一步一定是導(dǎo)入庫(kù),命令為:import pandas as pd。

創(chuàng)建DataFrame最常用的方式是字典+列表,語(yǔ)句很簡(jiǎn)單,先用花括號(hào){}創(chuàng)建一個(gè)字典,然后在其中依次輸入每一列的列名及其對(duì)應(yīng)的列值(此處一定要用列表)。這里對(duì)應(yīng)關(guān)系重要,列的順序并不重要。代碼示例如下:

運(yùn)行結(jié)果如下:

上面代碼的結(jié)果對(duì)應(yīng)到Excel表格中,如圖2-1所示。值得注意的是,如果我們?cè)趧?chuàng)建時(shí)不指定index參數(shù),系統(tǒng)會(huì)自動(dòng)生成從0開(kāi)始的索引。

圖2-1 表格三要素樣例

還可以通過(guò)改變索引、列名和值來(lái)控制數(shù)據(jù),這和前文講的表格三要素——列名、索引、值是對(duì)應(yīng)的。

對(duì)于Series的創(chuàng)建,在創(chuàng)建好DataFrame之后選擇對(duì)應(yīng)的列即可。在上述實(shí)例中,選擇剛創(chuàng)建好的df1中的工資列作為新的Series:

運(yùn)行結(jié)果如下:

也可以通過(guò)指定值和索引的方式來(lái)單獨(dú)創(chuàng)建一列:

運(yùn)行結(jié)果如下:

DataFrame和Series的創(chuàng)建非常便捷,不過(guò)在實(shí)際運(yùn)用中,單獨(dú)創(chuàng)建數(shù)據(jù)的場(chǎng)景較少,更多是直接讀取現(xiàn)有數(shù)據(jù)源。

主站蜘蛛池模板: 顺义区| 丹阳市| 萍乡市| 阳高县| 永泰县| 平乐县| 连城县| 宣武区| 金堂县| 武陟县| 虹口区| 平安县| 乐都县| 洛宁县| 仁怀市| 武穴市| 中超| 如皋市| 淮北市| 东港市| 萍乡市| 凤山市| 巧家县| 皮山县| 凭祥市| 康定县| 娄底市| 大理市| 河东区| 陈巴尔虎旗| 当涂县| 新巴尔虎右旗| 凌海市| 梧州市| 汤原县| 玛多县| 漳浦县| 梓潼县| 内江市| 城固县| 忻城县|