Pandas中的數(shù)據(jù)類(lèi)型
Pandas是基于兩種數(shù)據(jù)類(lèi)型:series和dataframe
series是一種一維的數(shù)據(jù)類(lèi)型枪眉。
dataframe是一個(gè)二維的瘤缩,表格型的數(shù)據(jù)結(jié)構(gòu)類(lèi)型徐矩。
Pandas數(shù)據(jù)導(dǎo)入
df = pd.read_csv('文件名/文件地址')
如果经磅,py文件與你要導(dǎo)入的文件在同一個(gè)文件夾掰担,則只需要寫(xiě)明文件名即可诀紊,否則要詳細(xì)寫(xiě)明文件的地址眷蜈。
其中沪哺,函數(shù)read_csv()
中的參數(shù)重點(diǎn)是header
和encoding
。
header
關(guān)鍵字告訴Pandas哪些是數(shù)據(jù)的列名如果沒(méi)有則將它設(shè)為None
酌儒,辜妓;
encoding
關(guān)鍵字通常在你數(shù)據(jù)集里有中文時(shí)加上,表明encoding='gkb'
,防止亂碼籍滴。
簡(jiǎn)單的數(shù)據(jù)查看
df.head(x)
#查看前x行的數(shù)據(jù)
df.tail(x)
#查看后x行的數(shù)據(jù)
但是要注意使用tail
函數(shù)時(shí)酪夷,不是從最后一行倒著顯示的,而是按照數(shù)據(jù)原來(lái)的順序顯示的异逐。
簡(jiǎn)單的數(shù)據(jù)查找
如果我們只對(duì)表中的一列或者幾列感興趣捶索,那么我們只需利用列的標(biāo)簽就能輕松做到提取其中的一整列。
df['列標(biāo)簽的名字']
注意灰瞻,當(dāng)我們提取列時(shí)腥例,最終得到的是一個(gè)series。
同時(shí)我們可以利用條件不等式來(lái)得到我們希望看到的數(shù)據(jù)酝润。
如:
df['xxx']<1000
最終會(huì)返回一個(gè)dataframe燎竖。其中true
表示符合條件,而False
反之要销。
同時(shí)构回,你也可以這么寫(xiě):
df[df['xxx']<1000]
這得到的是滿(mǎn)足條件的記錄的所有數(shù)據(jù)。
當(dāng)然你也可以通過(guò)復(fù)合條件表達(dá)式來(lái)進(jìn)行過(guò)濾:
df[(df['xxx']<1000)&(df['yyy']>1000)]
如果你的數(shù)據(jù)中含有字符串疏咐,那么你也可以使用字符串方法來(lái)進(jìn)行過(guò)濾:
df[df['Water Year'].str.startswith('xxx')]
最終返回的是含有以xxx開(kāi)頭的字符串的記錄的所有數(shù)據(jù)纤掸。