日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

Python for Data Analysis 学习心得(二) - pandas介绍

發(fā)布時(shí)間:2023/12/10 python 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python for Data Analysis 学习心得(二) - pandas介绍 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?一、pandas介紹

本篇程序上篇內(nèi)容,在numpy下面繼續(xù)介紹pandas,本書(shū)的作者是pandas的作者之一。pandas是非常好用的數(shù)據(jù)預(yù)處理工具,pandas下面有兩個(gè)數(shù)據(jù)結(jié)構(gòu),分別為Series和DataFrame,DataFrame之前我在一些實(shí)戰(zhàn)案例中有用過(guò),下面先對(duì)這兩個(gè)數(shù)據(jù)結(jié)構(gòu)做介紹。

?

二、Series

Series最簡(jiǎn)單的一個(gè)功能就是對(duì)一組數(shù)字打上ID,用法為下

可以看到Series會(huì)自動(dòng)把數(shù)字打上0~3對(duì)應(yīng)的ID,也可以對(duì)ID自定義名稱

這樣就可以用key-value的形式將序列里的值調(diào)出,也可透過(guò)索引來(lái)修改值,比如obj2['d'] = 2

如果將字典導(dǎo)入,由于字典本身就是key-value對(duì)應(yīng)的格式,所以Series也會(huì)繼續(xù)沿用這種對(duì)應(yīng)方式

?

三、DataFrame

1、表的基本操作

Dataframe同樣也是可以將字典導(dǎo)入,并會(huì)對(duì)字典做索引,如下

?

對(duì)于數(shù)據(jù)量較大的資料,可以用head( )來(lái)查看前五項(xiàng)的數(shù)據(jù)。

使用frame['列名稱']或是frame.列名稱的方式查看某一列的數(shù)據(jù)。使用frame.loc['索引值']可以查看某一行的數(shù)據(jù)。而frame.values則可以看到完整的行列數(shù)據(jù)

可以對(duì)選取的值進(jìn)行修改,例如frame['year'] = 2000會(huì)把年份都修改成2000,del frame['year']則會(huì)把year這一列刪除, drop('1')會(huì)把這行數(shù)據(jù)刪除

如果字典導(dǎo)入時(shí)某個(gè)值缺失了會(huì)用NaN來(lái)表示

另外如果導(dǎo)入的是嵌套式字典的話則會(huì)把第一層當(dāng)做列,第二層的key為行,下面為嵌套式的案例

可以看到第一層的Nevada和Ohio為列,第二層的key 2000,2001,2002 為列,缺失的數(shù)據(jù)顯示為NaN

?DataFrame可以對(duì)行和列做編輯,frame = pd.DataFrame(np.arange(9).reshape(3,3), index = [ 'a', 'c', 'd' ], colume = ['Ohio', 'Texas', 'California']),就會(huì)成為下面的矩陣

?

2、計(jì)算

當(dāng)DataFrame對(duì)兩個(gè)表進(jìn)行運(yùn)算時(shí),假設(shè)一個(gè)表某個(gè)值要和另外一個(gè)表的值做計(jì)算,但是其中有一個(gè)值為空缺值(NaN),那運(yùn)算的結(jié)果就會(huì)是空缺值(NaN),例如5+NaN = NaN,下面為范例說(shuō)明

?

為了避免這種情況發(fā)生,我們會(huì)希望系統(tǒng)可以假設(shè)這個(gè)不存在的值為0,這樣我們的缺失值才不會(huì)在計(jì)算過(guò)程中擴(kuò)散,我們希望的是5+NaN = 5, 所以就需要讓pandas在做運(yùn)算的時(shí)候?qū)θ笔е笛a(bǔ)上數(shù)字,方法為在運(yùn)算指令后面加上fill_value這個(gè)選項(xiàng)。

?

另外在做矩陣的計(jì)算時(shí),如果是對(duì)單行做計(jì)算,則會(huì)使用廣播,對(duì)每行都進(jìn)行一次計(jì)算,如下圖

?

?3、排序

DataFrame也可以利用sort進(jìn)行排序,默認(rèn)的排序方式是由小到大,最后是NaN。可以指定以某列為基準(zhǔn)進(jìn)行排列,如下圖就是以b這一列為基準(zhǔn)進(jìn)行排列

另外還有一種排序方式稱為rank,他可以為Series里面的每個(gè)值大小做排序,并給與由小到大的評(píng)分(從1開(kāi)始),如下圖,由于第2行的-5最小,所以rank值為1,再依序增加。

?

4、重復(fù)標(biāo)簽索引

和關(guān)系型數(shù)據(jù)庫(kù)的唯一索引不同,pandas可以使用重復(fù)的索引,可使用以下代碼查看表索引是否有重復(fù)的值

使用索引查找數(shù)據(jù)時(shí),pandas會(huì)將所有相同索引的值都返回

?

?5、統(tǒng)計(jì)

pandas支援各式各樣的統(tǒng)計(jì),有常見(jiàn)的sum、mean、count等,可以可以查看圖表的各種統(tǒng)計(jì)數(shù)據(jù),下面為幾個(gè)統(tǒng)計(jì)的指令

?

轉(zhuǎn)載于:https://www.cnblogs.com/yenpaul/p/10120430.html

總結(jié)

以上是生活随笔為你收集整理的Python for Data Analysis 学习心得(二) - pandas介绍的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。