内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

如何使用pandas中DataFrame進行數(shù)據(jù)處理-創(chuàng)新互聯(lián)

如何使用pandas中DataFrame進行數(shù)據(jù)處理?這個問題可能是我們?nèi)粘W習或工作經(jīng)常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純?nèi)容,讓我們一起來看看吧!

創(chuàng)新互聯(lián)服務項目包括松山網(wǎng)站建設、松山網(wǎng)站制作、松山網(wǎng)頁制作以及松山網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,松山網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到松山省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!

創(chuàng)建DataFrame

DataFrame是一個表格型的數(shù)據(jù)結(jié)構(gòu),它擁有兩個索引,分別是行索引以及列索引,使得我們可以很方便地獲取對應的行以及列。這就大大降低了我們查找數(shù)據(jù)處理數(shù)據(jù)的難度。

首先,我們先從最簡單的開始,如何創(chuàng)建一個DataFrame。

從字典創(chuàng)建

我們創(chuàng)建了一個dict,它的key是列名,value是一個list,當我們將這個dict傳入DataFrame的構(gòu)造函數(shù)的時候,它將會以key作為列名,value作為對應的值為我們創(chuàng)建一個DataFrame。

當我們在jupyter輸出的時候,它會自動為我們將DataFrame中的內(nèi)容以表格的形式展現(xiàn)。

從numpy數(shù)據(jù)創(chuàng)建

我們也可以從一個numpy的二維數(shù)組來創(chuàng)建一個DataFrame,如果我們只是傳入numpy的數(shù)組而不指定列名的話,那么pandas將會以數(shù)字作為索引為我們創(chuàng)建列

我們在創(chuàng)建的時候為columns這個字段傳入一個string的list即可為它指定列名:

從文件讀取

pandas另外一個非常強大的功能就是可以從各種格式的文件當中讀取數(shù)據(jù)創(chuàng)建DataFrame,比如像是常用的excel、csv,甚至是數(shù)據(jù)庫也可以。

對于excel、csv、json等這種結(jié)構(gòu)化的數(shù)據(jù),pandas提供了專門的api,我們找到對應的api進行使用即可:

如果是一些比較特殊格式的,也沒有關系,我們使用read_table,它可以從各種文本文件中讀取數(shù)據(jù),通過傳入分隔符等參數(shù)完成創(chuàng)建。比如在上一篇驗證PCA降維效果的文章當中,我們從.data格式的文件當中讀取了數(shù)據(jù)。該文件當中列和列之間的分隔符是空格,而不是csv的逗號或者是table符。我們通過傳入sep這個參數(shù),指定分隔符就完成了數(shù)據(jù)的讀取。

這個header參數(shù)表示文件的哪些行作為數(shù)據(jù)的列名,默認header=0,也即會將第一行作為列名。如果數(shù)據(jù)當中不存在列名,需要指定header=None,否則會產(chǎn)生問題。我們很少會出現(xiàn)需要用到多級列名的情況,所以一般情況下最常用的就是取默認值或者是令它等于None。

在所有這些創(chuàng)建DataFrame的方法當中最常用的就是最后一種,從文件讀取。因為我們做機器學習或者是參加kaggle當中的一些比賽的時候,往往數(shù)據(jù)都是現(xiàn)成的,以文件的形式給我們使用,需要我們自己創(chuàng)建數(shù)據(jù)的情況很少。如果是在實際的工作場景,雖然數(shù)據(jù)不會存在文件當中,但是也會有一個源頭,一般是會存儲在一些大數(shù)據(jù)平臺當中,模型從這些平臺當中獲取訓練數(shù)據(jù)。

所以總體來說,我們很少使用其他創(chuàng)建DataFrame的方法,我們有所了解,著重掌握從文件讀取的方法即可。

常用操作

下面介紹一些pandas的常用操作,這些操作是我在沒有系統(tǒng)學習pandas的使用方法之前就已經(jīng)了解的。了解的原因也很簡單,因為它們太常用了,可以說是必知必會的常識性內(nèi)容。

查看數(shù)據(jù)

我們在jupyter當中執(zhí)行運行DataFrame的實例會為我們打出DataFrame中所有的數(shù)據(jù),如果數(shù)據(jù)行數(shù)過多,則會以省略號的形式省略中間的部分。對于數(shù)據(jù)量很大的DataFrame,我們一般不會直接這樣輸出展示,而是會選擇展示其中的前幾條或者是后幾條數(shù)據(jù)。這里就需要用到兩個api。

展示前若干條數(shù)據(jù)的方法叫做head,它接受一個參數(shù),允許我們制定讓它從頭開始展示我們指定條數(shù)的數(shù)據(jù)。

既然有展示前面若干條自然也有展示最后若干條的api,這樣的api叫做tail。通過它我們可以查看DataFrame最后指定條數(shù)的數(shù)據(jù):

列的增刪改查

前面我們曾經(jīng)提到過,對于DataFrame而言,它其實相當于Series組合成的dict。既然是dict我們自然可以根據(jù)key值獲取指定的Series。

DataFrame當中有兩種方法獲取指定的列,我們可以通過.加列名的方式或者也可以通過dict查找元素的方式來查詢:

我們也可以同時讀取多列,如果是多列的話,只支持一種方法就是通過dict查詢元素的方法。它允許接收傳入一個list,可以查找出這個list當中的列對應的數(shù)據(jù)。返回的結(jié)果是這些新的列組成的新DataFrame。

我們可以用del刪除一個我們不需要的列

我們要創(chuàng)建一個新的列也很簡單,我們可以像是dict賦值一樣,直接為DataFrame賦值即可:

賦值的對象并不是只能是實數(shù),也可以是一個數(shù)組

我們要修改某一列也非常簡單,也是通過賦值一樣的方法覆蓋原數(shù)據(jù)即可。

轉(zhuǎn)成numpy數(shù)組

有時候我們使用pandas不方便,想要獲取它對應的原始數(shù)據(jù),可以直接使用.values獲取DataFrame對應的numpy數(shù)組:

由于在DataFrame當中每一列單獨一個類型,而轉(zhuǎn)化成numpy的數(shù)組之后所有數(shù)據(jù)共享類型。那么pandas會為所有的列找一個通用類型,這就是為什么經(jīng)常會得到一個object類型的原因。所以在使用.values之前最好先查看一下類型,保證一下不會因為類型而出錯。

感謝各位的閱讀!看完上述內(nèi)容,你們對如何使用pandas中DataFrame進行數(shù)據(jù)處理大概了解了嗎?希望文章內(nèi)容對大家有所幫助。如果想了解更多相關文章內(nèi)容,歡迎關注創(chuàng)新互聯(lián)-成都網(wǎng)站建設公司行業(yè)資訊頻道。

本文名稱:如何使用pandas中DataFrame進行數(shù)據(jù)處理-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://www.rwnh.cn/article28/ceisjp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導航、動態(tài)網(wǎng)站全網(wǎng)營銷推廣、面包屑導航、網(wǎng)站建設、手機網(wǎng)站建設

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設
泾源县| 济宁市| 墨脱县| 阿拉善右旗| 七台河市| 临朐县| 石景山区| 乌鲁木齐市| 昆明市| 遂川县| 天镇县| 泸州市| 诸城市| 白河县| 大厂| 舒城县| 新平| 石台县| 留坝县| 恭城| 咸宁市| 高邑县| 华亭县| 林西县| 博乐市| 富蕴县| 丰镇市| 襄汾县| 东海县| 海伦市| 中牟县| 澄迈县| 白河县| 专栏| 永善县| 达孜县| 昌江| 扶风县| 本溪市| 孟州市| 溧阳市|