一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Pandas有哪幾種數(shù)據(jù)類型?

馬哥Linux運維 ? 來源:未知 ? 作者:工程師李察 ? 2018-07-28 08:42 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在我看來,對于Numpy以及Matplotlib,Pandas可以幫助創(chuàng)建一個非常牢固的用于數(shù)據(jù)挖掘與分析的基礎(chǔ)。而Scipy(會在接下來的帖子中提及)當(dāng)然是另一個主要的也十分出色的科學(xué)計算庫,但是我認為前三者才是真正的Python科學(xué)計算的支柱。

所以,不需要太多精力,讓我們馬上開始Python科學(xué)計算系列的第三帖——Pandas。

導(dǎo)入Pandas

我們首先要導(dǎo)入我們的演出明星——Pandas。

Pandas有哪幾種數(shù)據(jù)類型?

Pandas的數(shù)據(jù)類型

Pandas基于兩種數(shù)據(jù)類型:series與dataframe。

一個series是一個一維的數(shù)據(jù)類型,其中每一個元素都有一個標(biāo)簽。如果你閱讀過這個系列的關(guān)于Numpy的文章,你就可以發(fā)現(xiàn)series類似于Numpy中元素帶標(biāo)簽的數(shù)組。其中,標(biāo)簽可以是數(shù)字或者字符串。

一個dataframe是一個二維的表結(jié)構(gòu)。Pandas的dataframe可以存儲許多種不同的數(shù)據(jù)類型,并且每一個坐標(biāo)軸都有自己的標(biāo)簽。你可以把它想象成一個series的字典項。

將數(shù)據(jù)導(dǎo)入Pandas

在我們開始挖掘與分析之前,我們首先需要導(dǎo)入能夠處理的數(shù)據(jù)。幸好,Pandas在這一點要比Numpy更方便。

在這里我推薦你使用自己所感興趣的數(shù)據(jù)集來使用。你的或其他國家的政府網(wǎng)站上會有一些好的數(shù)據(jù)源。例如,你可以搜索英國政府?dāng)?shù)據(jù)或美國政府?dāng)?shù)據(jù)來獲取數(shù)據(jù)源。當(dāng)然,Kaggle是另一個好用的數(shù)據(jù)源。

在此,我將采用英國政府?dāng)?shù)據(jù)中關(guān)于降雨量數(shù)據(jù),因為他們十分易于下載。此外,我還下載了一些日本降雨量的數(shù)據(jù)來使用。

Pandas有哪幾種數(shù)據(jù)類型?

將你的數(shù)據(jù)準(zhǔn)備好以進行挖掘和分析

現(xiàn)在我們已經(jīng)將數(shù)據(jù)導(dǎo)入了Pandas。在我們開始深入探究這些數(shù)據(jù)之前,我們一定迫切地想大致瀏覽一下它們,并從中獲得一些有用信息,幫助我們確立探究的方向。

想要快速查看前x行數(shù)據(jù):

Pandas有哪幾種數(shù)據(jù)類型?

你將獲得一個類似下圖一樣的表:

Pandas有哪幾種數(shù)據(jù)類型?

Pandas有哪幾種數(shù)據(jù)類型?

你將獲得類似下圖的表

Pandas有哪幾種數(shù)據(jù)類型?

Pandas有哪幾種數(shù)據(jù)類型?

你將獲得同之前一樣的數(shù)據(jù),但是列名已經(jīng)變了:

Pandas有哪幾種數(shù)據(jù)類型?

Pandas有哪幾種數(shù)據(jù)類型?

此外,你可能需要知道你數(shù)據(jù)的一些基本的統(tǒng)計信息。Pandas讓這件事變得非常簡單。

Pandas有哪幾種數(shù)據(jù)類型?

Pandas有哪幾種數(shù)據(jù)類型?

過濾

當(dāng)你查看你的數(shù)據(jù)集時,你可能希望獲得一個特殊的樣本數(shù)據(jù)。例如,如果你有一個關(guān)于工作滿意度的問卷調(diào)查數(shù)據(jù),你可能想要獲得所有在同一行業(yè)或同一年齡段的人的數(shù)據(jù)。

Pandas為我們提供了多種方法來過濾我們的數(shù)據(jù)并提取出我們想要的信息。有時候你想要提取一整列。可以直接使用列標(biāo)簽,非常容易。

Pandas有哪幾種數(shù)據(jù)類型?

還記得我所說的命名列標(biāo)簽的注意事項嗎?不使用空格和橫線等可以讓我們以訪問類屬性相同的方法來訪問列,即使用點運算符。

Pandas有哪幾種數(shù)據(jù)類型?

如果你讀過這一系列中Numpy那一篇帖子,你可能會記得一項技術(shù)叫做‘boolean masking’,即我們可以在數(shù)組上運行一個條件語句來獲得對應(yīng)的布爾值數(shù)組。好,我們也可以在Pandas中做同樣的事。

Pandas有哪幾種數(shù)據(jù)類型?

我們也可以使用這些條件表達式來過濾一個已知的dataframe。

Pandas有哪幾種數(shù)據(jù)類型?

Pandas有哪幾種數(shù)據(jù)類型?

Pandas有哪幾種數(shù)據(jù)類型?

值得注意的是,由于操作符優(yōu)先級的問題,在這里你不可以使用關(guān)鍵字‘a(chǎn)nd’,而只能使用’&’與括號

Pandas有哪幾種數(shù)據(jù)類型?

Pandas有哪幾種數(shù)據(jù)類型?

Pandas有哪幾種數(shù)據(jù)類型?

索引

前幾部分為我們展示了如何通過列操作來獲得數(shù)據(jù)。實際上,Pandas同樣有標(biāo)簽化的行操作。這些行標(biāo)簽可以是數(shù)字或是其他標(biāo)簽。獲取行數(shù)據(jù)的方法也取決于這些標(biāo)簽的類型。

如果你的行有數(shù)字索引,你可以使用iloc引用他們:

Pandas有哪幾種數(shù)據(jù)類型?

可能在你的數(shù)據(jù)集里有年份的列,或者年代的列,并且你希望可以用這些年份或年代來索引某些行。這樣,我們可以設(shè)置一個(或多個)新的索引。

Pandas有哪幾種數(shù)據(jù)類型?

Pandas有哪幾種數(shù)據(jù)類型?

Pandas有哪幾種數(shù)據(jù)類型?

ix是另一個常用的引用一行的方法。那么,如果loc是字符串標(biāo)簽的索引方法,iloc是數(shù)字標(biāo)簽的索引方法,那什么是ix呢?事實上,ix是一個字符串標(biāo)簽的索引方法,但是它同樣支持數(shù)字標(biāo)簽索引作為它的備選。

Pandas有哪幾種數(shù)據(jù)類型?

既然ix可以完成loc和iloc二者的工作,為什么還需要它們呢?最主要的原因是ix有一些輕微的不可預(yù)測性。還記得我說數(shù)字標(biāo)簽索引是ix的備選嗎?數(shù)字標(biāo)簽可能會讓ix做出一些奇怪的事情,例如將一個數(shù)字解釋成一個位置。而loc和iloc則為你帶來了安全的、可預(yù)測的、內(nèi)心的寧靜。然而必須指出的是,ix要比loc和iloc更快。

通常我們都希望索引是整齊有序地。我們可以在Pandas中通過調(diào)用sort_index來對dataframe實現(xiàn)排序。

Pandas有哪幾種數(shù)據(jù)類型?

Pandas有哪幾種數(shù)據(jù)類型?

Pandas有哪幾種數(shù)據(jù)類型?

Pandas有哪幾種數(shù)據(jù)類型?

對數(shù)據(jù)集應(yīng)用函數(shù)

有時候你會想以某些方式改變或是操作你數(shù)據(jù)集中的數(shù)據(jù)。例如,如果你有一列年份的數(shù)據(jù)而你希望創(chuàng)建一個新的列顯示這些年份所對應(yīng)的年代。Pandas對此給出了兩個非常有用的函數(shù),apply和applymap。

Pandas有哪幾種數(shù)據(jù)類型?

操作一個數(shù)據(jù)集結(jié)構(gòu)

另一件經(jīng)常會對dataframe所做的操作是為了讓它們呈現(xiàn)出一種更便于使用的形式而對它們進行的重構(gòu)。

首先,groupby:

Pandas有哪幾種數(shù)據(jù)類型?

Pandas有哪幾種數(shù)據(jù)類型?

Pandas有哪幾種數(shù)據(jù)類型?

Pandas有哪幾種數(shù)據(jù)類型?

Pandas有哪幾種數(shù)據(jù)類型?

Pandas有哪幾種數(shù)據(jù)類型?

Pandas有哪幾種數(shù)據(jù)類型?

Pandas有哪幾種數(shù)據(jù)類型?

Pandas有哪幾種數(shù)據(jù)類型?

Pandas有哪幾種數(shù)據(jù)類型?

Pandas有哪幾種數(shù)據(jù)類型?

Pandas有哪幾種數(shù)據(jù)類型?

合并數(shù)據(jù)集

有時候你有兩個單獨的數(shù)據(jù)集,它們直接互相關(guān)聯(lián),而你想要比較它們的差異或者合并它們。沒問題,Pandas可以很容易實現(xiàn):

Pandas有哪幾種數(shù)據(jù)類型?

如下你可以看到,兩個數(shù)據(jù)集在年份這一類上已經(jīng)合并了。rain_jpn數(shù)據(jù)集僅僅包含年份以及降雨量。當(dāng)我們以年份這一列進行合并時,僅僅’jpn_rainfall’這一列和我們UK雨量數(shù)據(jù)集的對應(yīng)列進行了合并。

Pandas有哪幾種數(shù)據(jù)類型?

采用Pandas快速繪制圖表

Matplotlib很好用,但是想要畫出一個中途下降的圖表還是需要費一番功夫的。而有的時候你僅僅想要快速畫出一個數(shù)據(jù)的大致走勢來幫助你發(fā)掘搞清這些數(shù)據(jù)的意義。Pandas提供了plot函數(shù)滿足你的需求:

Pandas有哪幾種數(shù)據(jù)類型?

Pandas有哪幾種數(shù)據(jù)類型?

存儲你的數(shù)據(jù)集

在清理、重構(gòu)以及挖掘完你的數(shù)據(jù)后,你通常會剩下一些非常重要有用的東西。你不僅應(yīng)當(dāng)保留下你的原始數(shù)據(jù),也同樣需要保存下你最新處理過的數(shù)據(jù)集。

Pandas有哪幾種數(shù)據(jù)類型?

上述代碼會將你的數(shù)據(jù)存入一個csv文件以備下次使用。

到此為止,我們簡單介紹了Pandas。正如我之前說的,Pandas是非常好用的庫,而我們僅僅是接觸了一點皮毛。但是我希望通過我的介紹,你可以開始進行真正的數(shù)據(jù)清理與挖掘工作了。

像往常一樣,我非常希望你能盡快開始嘗試Pandas。找一兩個你喜歡的數(shù)據(jù)集,開一瓶啤酒,坐下來,然后開始探索你的數(shù)據(jù)吧。這確實是唯一的熟悉Pandas以及其他這一系列文章中提到的庫的方式。再加上你永遠不知道的,你會找到一些你感興趣的東西的。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    7256

    瀏覽量

    91868
  • series
    +關(guān)注

    關(guān)注

    0

    文章

    17

    瀏覽量

    12812
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4827

    瀏覽量

    86747

原文標(biāo)題:Python科學(xué)計算之Pandas

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    DSP里的數(shù)據(jù)類型哪幾種數(shù)據(jù)類型使用不正確又會有什么后果?

    DSP里的數(shù)據(jù)類型哪幾種?數(shù)據(jù)類型使用不正確又會有什么后果?
    發(fā)表于 04-20 06:21

    接地哪幾種類型?

    接地哪幾種類型
    發(fā)表于 04-29 06:25

    天線哪幾種類型?

    天線哪幾種類型?
    發(fā)表于 05-26 06:38

    C語言中的數(shù)據(jù)類型哪幾種?const哪些用法?

    C語言中的數(shù)據(jù)類型哪幾種?const哪些用法?作用域與static用法是什么?extern是如何去使用的?
    發(fā)表于 07-22 06:51

    inputdelay約束的是什么?哪幾種類型?

    inputdelay約束的是什么?哪幾種類型?outputdelay約束是什么?分析方法哪幾種?
    發(fā)表于 09-18 06:58

    USB哪幾種傳輸類型?

    USB哪幾種傳輸類型?
    發(fā)表于 10-11 09:03

    C語言的基本數(shù)據(jù)類型包括哪幾種

    C語言的基本數(shù)據(jù)類型包括哪幾種?分別是什么?
    發(fā)表于 10-14 12:27

    降噪技術(shù)哪幾種類型

    降噪技術(shù)哪幾種類型?現(xiàn)在耳機市場的主動式降噪哪幾種?
    發(fā)表于 10-22 07:09

    SMT元器件哪幾種類型

    本文檔的主要內(nèi)容詳細介紹的是SMT元器件哪幾種類型
    發(fā)表于 11-27 08:00 ?3次下載

    風(fēng)機軸維修哪幾種工藝

    風(fēng)機軸維修哪幾種工藝
    發(fā)表于 12-03 17:47 ?9次下載

    軸承跑內(nèi)圓哪幾種修復(fù)方式

    軸承跑內(nèi)圓哪幾種修復(fù)方式
    發(fā)表于 01-23 11:07 ?7次下載

    軸承孔磨損維修哪幾種方法?

    軸承孔磨損維修哪幾種方法?
    發(fā)表于 04-01 16:30 ?11次下載

    輸油管道腐蝕哪幾種類型?如何防腐?

    輸油管道腐蝕哪幾種類型?如何防腐?
    發(fā)表于 05-25 16:00 ?2次下載

    ESD模型哪幾種你知道嗎?

    ESD模型哪幾種你知道嗎?
    的頭像 發(fā)表于 05-09 10:00 ?2396次閱讀
    ESD模型<b class='flag-5'>有</b><b class='flag-5'>哪幾種</b>你知道嗎?

    分布式存儲哪幾種類型?

    分布式存儲哪幾種類型?分布式存儲系統(tǒng)是一種將數(shù)據(jù)分散存儲在多臺獨立節(jié)點上的技術(shù),根據(jù)數(shù)據(jù)模型可分為鍵值存儲、列式存儲、文檔存儲和圖形存儲等類型
    的頭像 發(fā)表于 02-20 11:00 ?582次閱讀