旗下產(chǎn)業(yè): A產(chǎn)業(yè)/?A實(shí)習(xí)/?A計(jì)劃
全國(guó)統(tǒng)一咨詢熱線:010-5367 2995
首頁(yè) > 熱門(mén)文章 > 大數(shù)據(jù)分析 > 大數(shù)據(jù)分析Python列表使用教程

大數(shù)據(jù)分析Python列表使用教程

時(shí)間:2020-05-27來(lái)源:5wd995.cn點(diǎn)擊量:作者:Sissi
時(shí)間:2020-05-27點(diǎn)擊量:作者:Sissi



  列表是大數(shù)據(jù)分析Python中最強(qiáng)大的數(shù)據(jù)類型之一。在此大數(shù)據(jù)分析Python列表教程中,您將學(xué)習(xí)如何在分析有關(guān)移動(dòng)應(yīng)用程序的數(shù)據(jù)時(shí)使用列表。
 

  在大數(shù)據(jù)分析Python列表使用教程中,我們假設(shè)您了解大數(shù)據(jù)分析Python的基本知識(shí),包括使用字符串,整數(shù)和浮點(diǎn)數(shù)。如果您不熟悉這些內(nèi)容,則可以嘗試免費(fèi)的大數(shù)據(jù)分析Python基礎(chǔ)知識(shí)課程。
 

  我們將使用來(lái)自移動(dòng)應(yīng)用商店數(shù)據(jù)集(Ramanathan Perumal)的以下數(shù)據(jù)表:

大數(shù)據(jù)分析
 

  表中的每個(gè)值都是一個(gè)數(shù)據(jù)點(diǎn)。例如,第一行(列標(biāo)題之后)具有五個(gè)數(shù)據(jù)點(diǎn):
 

  1)Facebook

  2)0.0

  3)USD

  4)2974676

  5)3.5
 

  數(shù)據(jù)點(diǎn)的集合構(gòu)成一個(gè)數(shù)據(jù)集。我們可以將上面的整個(gè)表理解為數(shù)據(jù)點(diǎn)的集合,因此我們將整個(gè)表稱為數(shù)據(jù)集。我們可以看到我們的數(shù)據(jù)集有五行五列。
 

  使用對(duì)大數(shù)據(jù)分析Python類型的理解,我們可能認(rèn)為我們可以將每個(gè)數(shù)據(jù)點(diǎn)存儲(chǔ)在其自己的變量中-例如,這就是我們可以存儲(chǔ)第一行的數(shù)據(jù)點(diǎn)的方式:

大數(shù)據(jù)分析
 

  上面,我們存儲(chǔ)了:
 

  1)文字“ Facebook”作為字符串

  2)價(jià)格為0.0的浮動(dòng)

  3)文本“ USD”作為字符串

  4)評(píng)分計(jì)數(shù)2,974,676作為整數(shù)

  5)用戶評(píng)級(jí)3.5為浮動(dòng)
 

  為數(shù)據(jù)集中的每個(gè)數(shù)據(jù)點(diǎn)創(chuàng)建變量將是一個(gè)繁瑣的過(guò)程。幸運(yùn)的是,我們可以使用list更有效地存儲(chǔ)數(shù)據(jù)。這是我們可以為第一行創(chuàng)建數(shù)據(jù)點(diǎn)列表的方式:

大數(shù)據(jù)分析
 

  要?jiǎng)?chuàng)建上面的列表,我們:
 

  1)輸入一系列數(shù)據(jù)點(diǎn),并用逗號(hào)分隔每個(gè)數(shù)據(jù)點(diǎn): 'Facebook', 0.0, 'USD', 2974676, 3.5

  2)用括號(hào)將序列括起來(lái): ['Facebook', 0.0, 'USD', 2974676, 3.5]
 

  創(chuàng)建列表后,通過(guò)將其分配給名為的變量,將其存儲(chǔ)在計(jì)算機(jī)的內(nèi)存中row_1。
 

  要?jiǎng)?chuàng)建數(shù)據(jù)點(diǎn)列表,我們只需要:
 

  1)用逗號(hào)分隔數(shù)據(jù)點(diǎn)。

  2)用括號(hào)將數(shù)據(jù)點(diǎn)的序列括起來(lái)。
 

  現(xiàn)在,我們創(chuàng)建五個(gè)列表,數(shù)據(jù)集中的每一行一個(gè):


大數(shù)據(jù)分析
 

  索引大數(shù)據(jù)分析Python列表
 

  列表可以包含各種數(shù)據(jù)類型。類似的列表[4, 5, 6]具有相同的數(shù)據(jù)類型(僅整數(shù)),而列表['Facebook', 0.0, 'USD', 2974676, 3.5]具有混合的數(shù)據(jù)類型:
 

  1)兩串('Facebook', 'USD')

  2)兩個(gè)浮點(diǎn)(0.0,3.5)

  3)一整數(shù)(2974676)
 

  該['Facebook', 0.0, 'USD', 2974676, 3.5]列表有五個(gè)數(shù)據(jù)點(diǎn)。要查找列表的長(zhǎng)度,我們可以使用以下len()命令:


大數(shù)據(jù)分析
 

  對(duì)于小列表,我們只需在屏幕上計(jì)數(shù)數(shù)據(jù)點(diǎn)即可找到長(zhǎng)度,但是len()當(dāng)您使用包含許多元素的列表,或者需要為不知道長(zhǎng)度的數(shù)據(jù)編寫(xiě)代碼時(shí),該命令將非常有用提前時(shí)間。
 

  列表中的每個(gè)元素(數(shù)據(jù)點(diǎn))都有一個(gè)與之關(guān)聯(lián)的特定編號(hào),稱為索引編號(hào)。索引始終從0開(kāi)始,因此第一個(gè)元素的索引號(hào)為0,第二個(gè)元素的索引號(hào)為1,依此類推。
 


大數(shù)據(jù)分析
 

  若要快速找到列表元素的索引,請(qǐng)確定其在列表中的位置編號(hào),然后減去1。例如,字符串'USD'是列表的第三個(gè)元素(位置編號(hào)3),因此其索引編號(hào)必須為2,因?yàn)? – 1 = 2。
 

  索引號(hào)幫助我們從列表中檢索單個(gè)元素?;仡檙ow_1上面的代碼示例中的列表,我們可以'Facebook'通過(guò)運(yùn)行代碼來(lái)檢索索引編號(hào)為0 的第一個(gè)元素(字符串)row_1[0]。


大數(shù)據(jù)分析
 

  檢索單個(gè)列表元素的語(yǔ)法遵循該模型list_name[index_number]。例如,上面的列表的名稱為row_1,第一個(gè)元素的索引號(hào)為0-在list_name[index_number]模型之后,我們得到row_1[0],其中索引號(hào)0在變量name后面的方括號(hào)中row_1。


大數(shù)據(jù)分析
 

  這是我們?nèi)绾螜z索中的每個(gè)元素row_1:


大數(shù)據(jù)分析
 

  檢索列表元素使執(zhí)行操作更加容易。例如,我們可以選擇Facebook和Instagram的評(píng)分,并找到平均值或兩者之間的差異:


大數(shù)據(jù)分析
 

  讓我們使用列表索引從前三行中提取評(píng)分?jǐn)?shù)量,然后取平均值:

大數(shù)據(jù)分析
 

  對(duì)列表使用負(fù)索引
 

  在大數(shù)據(jù)分析Python中,我們有兩個(gè)列表索引系統(tǒng):
 

  1)正索引:_first)元素的索引號(hào)為0,第二個(gè)元素的索引號(hào)為1,依此類推。

  2)負(fù)索引:最后一個(gè)元素的索引號(hào)為-1,倒數(shù)第二個(gè)元素的索引號(hào)為-2,依此類推。

大數(shù)據(jù)分析
 

  實(shí)際上,我們幾乎總是使用正索引來(lái)檢索列表元素。當(dāng)我們要選擇列表的最后一個(gè)元素時(shí),負(fù)索引很有用-特別是如果列表很長(zhǎng),并且我們無(wú)法通過(guò)計(jì)數(shù)來(lái)判斷長(zhǎng)度。

大數(shù)據(jù)分析
 

  請(qǐng)注意,如果我們使用的索引號(hào)不在兩個(gè)索引系統(tǒng)的范圍內(nèi),則會(huì)得到一個(gè)IndexError。

大數(shù)據(jù)分析
 

  讓我們使用負(fù)索引從前三行中的每行中提取用戶評(píng)分(最后一個(gè)值),然后取平均值。
 

大數(shù)據(jù)分析

  切片大數(shù)據(jù)分析Python列表
 

  代替單獨(dú)選擇列表元素,我們可以使用語(yǔ)法快捷方式來(lái)選擇兩個(gè)或更多連續(xù)元素:

大數(shù)據(jù)分析
 

  當(dāng)我們從一個(gè)名為list的列表中選擇第一個(gè)n元素(n代表一個(gè)數(shù)字)時(shí)a_list,可以使用語(yǔ)法快捷方式a_list[0:n]。在上面的示例中,我們需要從列表中選擇前三個(gè)元素row_3,因此我們使用row_3[0:3]。
 

  當(dāng)選擇前三個(gè)元素時(shí),我們將列表的一部分切成薄片。因此,選擇列表的一部分的過(guò)程稱為列表切片。
 

  我們可能想采用多種方式對(duì)列表進(jìn)行切片:

大數(shù)據(jù)分析
 

  要檢索我們想要的任何列表切片:
 

  a)我們首先需要確定切片的第一個(gè)和最后一個(gè)元素。

  b)然后,我們需要確定切片的第一個(gè)和最后一個(gè)元素的索引號(hào)。

  c)最后,我們可以使用語(yǔ)法檢索所需的列表切片a_list[m:n],其中:

    1)m表示切片的第一個(gè)元素的索引號(hào);和

    2)n表示切片的最后一個(gè)元素的索引號(hào)加上一個(gè)(如果最后一個(gè)元素的索引號(hào)為2,則我們n將為3,如果最后一個(gè)元素的索引號(hào)為4,n則將為5,依此類推)。

大數(shù)據(jù)分析
 

  當(dāng)我們需要選擇第一個(gè)或最后一個(gè)x元素(x代表一個(gè)數(shù)字)時(shí),我們可以使用更簡(jiǎn)單的語(yǔ)法快捷方式:
 

  1)a_list[:x]當(dāng)我們要選擇第一個(gè)x元素時(shí)。

  2)a_list[-x:]當(dāng)我們要選擇最后一個(gè)x元素時(shí)。

大數(shù)據(jù)分析
 

  讓我們看看如何從第一行中提取前四個(gè)元素(以及有關(guān)Facebook的數(shù)據(jù)):

大數(shù)據(jù)分析
 

  以及第五行中的元素3和4(以及有關(guān)Pandora的數(shù)據(jù)):

大數(shù)據(jù)分析
 

  大數(shù)據(jù)分析Python列表列表
 

  之前,我們介紹了列表,它是每個(gè)數(shù)據(jù)點(diǎn)使用一個(gè)變量的更好選擇。'Facebook', 0.0, 'USD', 2974676, 3.5我們可以將五個(gè)數(shù)據(jù)點(diǎn)捆綁在一起,而不是為五個(gè)數(shù)據(jù)點(diǎn)分別設(shè)置一個(gè)變量,然后將列表存儲(chǔ)在一個(gè)變量中。
 

  到目前為止,我們一直與具有五個(gè)行的數(shù)據(jù)集,我們已經(jīng)存儲(chǔ)在單獨(dú)的變量每行作為一個(gè)列表(變量row_1,row_2,row_3,row_4,和row_5)。但是,如果我們的數(shù)據(jù)集包含5,000行,那么最終將得到5,000個(gè)變量,這將使我們的代碼混亂,幾乎無(wú)法使用。
 

  為了解決這個(gè)問(wèn)題,我們可以將五個(gè)變量存儲(chǔ)在一個(gè)列表中:

大數(shù)據(jù)分析
 

  正如我們所看到的,data_set是一個(gè)列表,記錄了其它五個(gè)列表(row_1,row_2,row_3,row_4,和row_5)。包含其他列表的列表稱為列表列表。
 

  該data_set變量仍然是一個(gè)列表,這意味著我們可以檢索單個(gè)列表元素并使用我們學(xué)到的語(yǔ)法執(zhí)行列表切片。在下面,我們:
 

  a.使用檢索第一個(gè)列表元素(row_1)data_set[0]。

  b.使用檢索最后一個(gè)列表元素(row_5)data_set[-1]。

  c.通過(guò)使用進(jìn)行列表切片, 檢索前兩個(gè)列表元素(row_1和row_2)data_set[:2]。

大數(shù)據(jù)分析
 

  我們會(huì)經(jīng)常需要檢索這是一個(gè)列表的列表的一部分列表各個(gè)元素-例如,我們可能要檢索的值3.5從['Facebook', 0.0, 'USD', 2974676, 3.5],這是一部分data_set名單列表。下面,我們3.5從data_set使用中學(xué)到的內(nèi)容中進(jìn)行摘錄:
 

  a.我們r(jià)ow_1使用進(jìn)行檢索data_set[0],并將結(jié)果分配給名為的變量fb_row。

  b.我們打印fb_row,輸出['Facebook', 0.0, 'USD', 2974676, 3.5]。

  c.我們檢索的最后一個(gè)元素fb_row使用fb_row[-1](因?yàn)閒b_row是一個(gè)列表),并將結(jié)果分配給指定的變量fb_rating。

  d.打印fb_rating,輸出3.5

大數(shù)據(jù)分析
 

  上面,我們3.5分兩步進(jìn)行檢索:首先檢索data_set[0],然后檢索fb_row[-1]。但是,3.5通過(guò)鏈接兩個(gè)索引([0]和[-1]),有一種更簡(jiǎn)單的方法來(lái)檢索相同的值-代碼將data_set[0][-1]檢索3.5:

大數(shù)據(jù)分析


  上面,我們已經(jīng)看到了兩種獲取值的方法3.5。兩種方法都導(dǎo)致相同的輸出(3.5),但是第二種方法涉及較少的鍵入操作,因?yàn)樗芎玫亟Y(jié)合了我們?cè)诘谝环N情況下看到的步驟。雖然您可以選擇任一選項(xiàng),但人們通常會(huì)選擇第二個(gè)選項(xiàng)。
 

  讓我們將五個(gè)單獨(dú)的列表轉(zhuǎn)換為列表列表:

大數(shù)據(jù)分析
 

  重復(fù)清單程序
 

  在執(zhí)行此任務(wù)之前,我們對(duì)計(jì)算應(yīng)用程序的平均評(píng)分感興趣。當(dāng)我們只處理三行時(shí),這是一個(gè)可行的任務(wù),但是添加的行越多,它變得越難。使用之前的策略,我們將:
 

  a.檢索每個(gè)單獨(dú)的評(píng)分。

  b.總結(jié)一下評(píng)分。

  c.除以評(píng)分?jǐn)?shù)。

大數(shù)據(jù)分析
 

  如您所見(jiàn),五個(gè)等級(jí)會(huì)使情況變得復(fù)雜。如果我們正在處理包含1,000行的數(shù)據(jù),則將需要不切實(shí)際的代碼量!我們需要找到一種簡(jiǎn)單的方法來(lái)檢索許多評(píng)級(jí)。
 

  查看上面的代碼示例,我們看到一個(gè)過(guò)程不斷重復(fù):我們?yōu)橹械拿總€(gè)列表選擇了最后一個(gè)列表元素app_data_set。該app_data_set賣場(chǎng)五名名單,所以我們重復(fù)相同的過(guò)程五次。如果我們可以直接告訴大數(shù)據(jù)分析Python我們要為其中的每個(gè)列表重復(fù)該過(guò)程app_data_set怎么辦?
 

  幸運(yùn)的是,我們可以做到這一點(diǎn)-大數(shù)據(jù)分析Python為我們提供了一種簡(jiǎn)單的方法來(lái)重復(fù)一個(gè)過(guò)程,當(dāng)我們需要重復(fù)數(shù)百,數(shù)千甚至數(shù)百萬(wàn)次過(guò)程時(shí),這可以極大地幫助我們。
 

  比方說(shuō),我們有一個(gè)列表[3, 5, 1, 2]分配給一個(gè)變量ratings,我們想重復(fù)以下過(guò)程:對(duì)每個(gè)元素在 ratings,打印元素。這就是我們可以將其轉(zhuǎn)換為大數(shù)據(jù)分析Python語(yǔ)法的方式:

大數(shù)據(jù)分析
 

  在我們上面的第一個(gè)例子,我們想重復(fù)這個(gè)過(guò)程是_”提取的最后一個(gè)元素為每個(gè)列表中的 app_data_set “_。這是我們可以將該過(guò)程轉(zhuǎn)換為大數(shù)據(jù)分析Python語(yǔ)法的方式:

大數(shù)據(jù)分析
 

  讓我們嘗試更好地了解上述情況。大數(shù)據(jù)分析Python一次將一個(gè)列表元素從中分離出來(lái)app_data_set,然后將其分配給each_list(基本上成為一個(gè)存儲(chǔ)列表的變量-我們將在下一個(gè)屏幕上進(jìn)一步討論):

大數(shù)據(jù)分析
 

  使用上述技術(shù)需要我們?yōu)閿?shù)據(jù)集中的每一行編寫(xiě)一行代碼。但是使用該for each_list in app_data_set技術(shù)只需要我們寫(xiě)兩行代碼,而不管數(shù)據(jù)集中的行數(shù)是多少—數(shù)據(jù)集可以有五行或一百萬(wàn)。
 

  我們的中間目標(biāo)是使用這項(xiàng)新技術(shù)來(lái)計(jì)算上述五行的平均評(píng)分,而最終目標(biāo)是計(jì)算包含7,197行的數(shù)據(jù)集的平均評(píng)分。我們將在此任務(wù)的接下來(lái)的幾個(gè)屏幕中執(zhí)行此操作,但現(xiàn)在,我們將集中精力練習(xí)此技術(shù)以更好地掌握它。
 

  在編寫(xiě)任何代碼之前,我們需要縮進(jìn)我們要在右邊重復(fù)四個(gè)空格字符的代碼:

大數(shù)據(jù)分析
 

  從技術(shù)上講,我們只需要在代碼的右邊至少縮進(jìn)一個(gè)空格字符,但是大數(shù)據(jù)分析Python社區(qū)中的約定是使用四個(gè)空格字符。這有助于提高可讀性-遵循此約定的其他人將更容易閱讀您的代碼,并且您將更容易閱讀他們的代碼。
 

  讓我們使用這種技術(shù)來(lái)打印每個(gè)應(yīng)用程序的名稱和等級(jí):

大數(shù)據(jù)分析
 

  大數(shù)據(jù)分析Python中的列表和For循環(huán)
 

  我們剛剛學(xué)到的技術(shù)稱為循環(huán)。循環(huán)是一個(gè)非常有用的工具,可用于使用大數(shù)據(jù)分析Python列表執(zhí)行重復(fù)過(guò)程。因?yàn)槲覀兛偸且詅or(像in for some_variable in some_list:)開(kāi)始,所以這種技術(shù)被稱為for循環(huán)。
 

  這些是for循環(huán)的結(jié)構(gòu)部分
 

大數(shù)據(jù)分析
 

  主體中 的縮進(jìn)代碼
 

  a.對(duì)于第一次迭代,該值是iterable的第一個(gè)元素(來(lái)自上面的示例1)。

  b.對(duì)于第二次迭代,該值是iterable的第二個(gè)元素(來(lái)自上面的示例3)。

  c.對(duì)于第三次迭代,該值是iterable的第三個(gè)元素(來(lái)自上面的示例5)。

大數(shù)據(jù)分析
 

  插入變量的名稱可以是您喜歡的任何名稱–如果value在上面dog的代碼中將替換為,則代碼將以完全相同的方式工作。也就是說(shuō),習(xí)慣上使用有助于傳達(dá)數(shù)據(jù)含義的東西。
 

  循環(huán)主體之外的 代碼可以與代碼交互
 

  a.初始化變量 a_sum

  b.我們循環(huán)(或迭代a_list

  1)在迭代變量的當(dāng)前值和存儲(chǔ)在其中的當(dāng)前值之間執(zhí)行加法運(yùn)算(在循環(huán)體內(nèi))valuea_suma_sum

  2)將加法結(jié)果分配回 a_sum

  3)打印a_sum變量的值(在循環(huán)體內(nèi))。請(qǐng)注意,a_sum每次添加后更改的值。在循環(huán)結(jié)束時(shí),a_sum具有值9,該值等于a_list(1 + 3 + 5)中數(shù)字的總和。

大數(shù)據(jù)分析
 

  上面,我們創(chuàng)建了一種匯總列表中數(shù)字的方法。我們可以使用這種技術(shù)總結(jié)數(shù)據(jù)集中的評(píng)分。一旦有了總和,我們只需要除以等級(jí)數(shù)即可得出平均值。

大數(shù)據(jù)分析
 

  我們?cè)谶@里介紹了for循環(huán)的基礎(chǔ)知識(shí),但是如果您想進(jìn)行更多練習(xí),我們還提供了有關(guān)for循環(huán)基礎(chǔ)知識(shí)和高級(jí)for循環(huán)的教程,您可以檢閱。
 

  計(jì)算列表平均值的另一種方法
 

  現(xiàn)在,我們將學(xué)習(xí)計(jì)算平均評(píng)級(jí)值的另一種方法。創(chuàng)建列表后,可以使用命令向其中添加(或追加)值append()。

大數(shù)據(jù)分析
 

  與我們學(xué)過(guò)的其他命令不同,請(qǐng)注意 append()list_name.append()append()
 

  現(xiàn)在我們知道如何將值添加到列表中,我們可以按照以下步驟計(jì)算平均應(yīng)用評(píng)分:
 

  a.我們初始化一個(gè)空列表。

  b.我們開(kāi)始遍歷數(shù)據(jù)集并提取

  c.我們追加

  d.獲得所有等級(jí)后,我們:

  1)使用該sum()命令匯總所有評(píng)分(以便能夠使用sum()

  2)我們將總和除以評(píng)分?jǐn)?shù)(可以使用len()命令獲得評(píng)分)。
 

  在下面,我們可以看到為五行數(shù)據(jù)集實(shí)施的上述步驟:

大數(shù)據(jù)分析
 

  我們還可以append()通過(guò)將數(shù)據(jù)追加為列表來(lái)將另一行添加到列表中。讓我們看看它是如何工作的:

大數(shù)據(jù)分析
 

  現(xiàn)在,讓我們使用上面學(xué)到的技術(shù)來(lái)計(jì)算所有六個(gè)應(yīng)用程序的平均評(píng)分:

大數(shù)據(jù)分析
 

  下一步
 

  在大數(shù)據(jù)分析Python列表使用教程中,我們學(xué)習(xí)了如何:
 

  a.使用大數(shù)據(jù)分析Python列表存儲(chǔ)和處理數(shù)據(jù)

  b.使用正索引和負(fù)索引訪問(wèn)存儲(chǔ)在列表中的值

  c.使用列表列表來(lái)處理表格數(shù)據(jù)

  d.用于循環(huán)自動(dòng)執(zhí)行重復(fù)性任務(wù)

  e.將值附加到列表
 

  如果您想練習(xí)使用大數(shù)據(jù)分析Python列表,那么大數(shù)據(jù)分析Python列表使用教程是基于我們的免費(fèi)大數(shù)據(jù)分析Python基礎(chǔ)課程的一部分。該課程可以從您的Web瀏覽器上進(jìn)行,您將編寫(xiě)代碼來(lái)分析7,000多個(gè)移動(dòng)應(yīng)用程序的完整數(shù)據(jù)集!

 

預(yù)約申請(qǐng)免費(fèi)試聽(tīng)課

填寫(xiě)下面表單即可預(yù)約申請(qǐng)免費(fèi)試聽(tīng)!怕錢(qián)不夠?可先就業(yè)掙錢(qián)后再付學(xué)費(fèi)! 怕學(xué)不會(huì)?助教全程陪讀,隨時(shí)解惑!擔(dān)心就業(yè)?一地學(xué)習(xí),可推薦就業(yè)!

?2007-2021/北京漫動(dòng)者教育科技有限公司版權(quán)所有
備案號(hào):京ICP備12034770號(hào)

?2007-2022/ 5wd995.cn 北京漫動(dòng)者數(shù)字科技有限公司 備案號(hào): 京ICP備12034770號(hào) 監(jiān)督電話:010-53672995 郵箱:bjaaa@aaaedu.cc

京公網(wǎng)安備 11010802035704號(hào)

網(wǎng)站地圖