這篇文章主要介紹“Pandas的介紹及安裝方法”,在日常操作中,相信很多人在Pandas的介紹及安裝方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Pandas的介紹及安裝方法”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
創(chuàng)新互聯(lián)主要從事成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、成都外貿(mào)網(wǎng)站建設(shè)公司、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)靜樂,十載網(wǎng)站建設(shè)經(jīng)驗(yàn),價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575
Pandas介紹與安裝
為什么會有Pandas
Pandas支持大部分Numpy語言風(fēng)格,尤其是數(shù)組函數(shù)與廣播機(jī)制的各種數(shù)據(jù)處理。單是Numpy更適合處理同質(zhì)型的數(shù)據(jù)。而Pandas的設(shè)計(jì)就是用來處理表格型或異性數(shù)據(jù)的,高效的清洗、處理數(shù)據(jù)。
Pandas是什么?
Pandas是基于Numpy的一種工具,提供高性能矩陣的運(yùn)算,該工具是為了解決數(shù)據(jù)分析任何而創(chuàng)建的。也是貫穿整個Python數(shù)據(jù)分析非常核心的工具
安裝Pandas
pip install Pandas
Pandas涉及內(nèi)容
Pandas基礎(chǔ) 、數(shù)據(jù)清洗與準(zhǔn)備、數(shù)據(jù)聚合與分組、時間序列
Pandas數(shù)據(jù)結(jié)構(gòu)介紹
Series介紹
Series是一種一維數(shù)組對象,它包含了一個值序列(value) ,并且包含了數(shù)據(jù)標(biāo)簽,稱之為索引 (index)
Series創(chuàng)建
pd.Series(data=None,index=None,dtype=None,name=None,copy=False)
data : 創(chuàng)建數(shù)組的數(shù)據(jù),可為array、like、dict、or scalar value
index : 指定索引
dtype : 數(shù)組數(shù)據(jù)類型
name : 數(shù)組名稱
copy : 是否拷貝
Pandas數(shù)組函數(shù)
語法 基本使用
dtype 查看數(shù)據(jù)類型
astype 修改數(shù)據(jù)類型
head() 預(yù)覽前幾條數(shù)據(jù)
tail() 預(yù)覽后幾條數(shù)據(jù)
In [15]: # 指定索引序列
In [16]: series = pd.Series(np.arange(4),index=['a','b','c','d'])
In [17]: series
Out[17]:
a 0
b 1
c 2
d 3
dtype: int32
In [18]: # 指定索引的名字
In [19]: series = pd.Series(np.arange(4),index=['a','b','c','d'],name='SmallJ')
In [20]: series
Out[20]:
a 0
b 1
c 2
d 3
Name: SmallJ, dtype: int32
In [21]: # 默認(rèn)返回int32,可指定其他類型
In [23]: series = pd.Series(np.arange(4),index=['a','b','c','d'],name='SmallJ',dtype='int64')
In [24]: series
Out[24]:
a 0
b 1
c 2
d 3
Name: SmallJ, dtype: int64
In [29]: import numpy as np
In [30]: import pandas as pd
In [31]: series = pd.Series(np.arange(10),name='SmallJ')
In [32]: series
Out[32]:
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
Name: SmallJ, dtype: int32
In [33]: # 前面為索引后面為值
In [34]: series.dtype
Out[34]: dtype('int32')
In [35]: # 查看數(shù)據(jù)類型
In [36]: series.dtype
Out[36]: dtype('int32')
In [37]: # 修改數(shù)據(jù)類型
In [38]: series.astype('float64')
Out[38]:
0 0.0
1 1.0
2 2.0
3 3.0
4 4.0
5 5.0
6 6.0
7 7.0
8 8.0
9 9.0
Name: SmallJ, dtype: float64
In [39]: # 預(yù)覽從頭開始的數(shù)據(jù) (括號內(nèi)填指定的數(shù)據(jù))
In [40]: series.head(5)
Out[40]:
0 0
1 1
2 2
3 3
4 4
Name: SmallJ, dtype: int32
In [41]: series.head(6)
Out[41]:
0 0
1 1
2 2
3 3
4 4
5 5
Name: SmallJ, dtype: int32
In [42]: # 預(yù)覽最后的數(shù)據(jù) (括號填指定的數(shù)據(jù))
In [43]: series.tail(5)
Out[43]:
5 5
6 6
7 7
8 8
9 9
Name: SmallJ, dtype: int32
Series的索引與值
series.index
查看索引
series.values
查看值序列
series.reset_index(drop=False)
重置索引
drop 是否刪除原索引 默認(rèn)為否
In [89]: import pandas as pd
In [90]: import numpy as np
In [91]: series = pd.Series(data=np.arange(5),index=['a','b','c','d','e'])
In [92]: series
Out[92]:
a 0
b 1
c 2
d 3
e 4
dtype: int32
In [93]: # 查看索引
In [94]: series.index
Out[94]: Index(['a', 'b', 'c', 'd', 'e'], dtype='object')
In [95]: series.values
Out[95]: array([0, 1, 2, 3, 4])
In [96]: series.reset_index()
Out[96]:
index 0
0 a 0
1 b 1
2 c 2
3 d 3
4 e 4
In [98]: series
Out[98]:
a 0
b 1
c 2
d 3
e 4
dtype: int32
In [99]: # 查看值序列
In [100]: series.values
Out[100]: array([0, 1, 2, 3, 4])
In [101]: # 當(dāng)drop中的值為True的時候?qū)⒉捎脛h除原索引,并不會對原數(shù)據(jù)進(jìn)行修改,需要復(fù)制
In [102]: series = series.reset_index(drop=True)
In [103]: series
Out[103]:
0 0
1 1
2 2
3 3
4 4
dtype: int32
Series索引與切片
series.[‘標(biāo)簽索引’]
通過標(biāo)簽索引來取值
series[‘索引’]
通過下標(biāo)索引來取值
series.loc(標(biāo)簽索引)
通過標(biāo)簽索引來取值
series.iloc(索引)
通過索引
In [115]: # 通過標(biāo)簽來取值
In [116]: series.loc['b']
Out[116]: 1
In [117]: # 通過索引下標(biāo)來取值
In [118]: series.iloc[1]
Out[118]: 1
采用神奇索引
In [139]: series
Out[139]:
a 0
b 1
c 10
d 3
e 22
dtype: int32
In [141]: # 采用標(biāo)簽來取值
In [142]: series[['a','e']]
Out[142]:
a 0
e 22
dtype: int32
In [143]: # 采用索引取值
In [144]: series[[0,-1]]
Out[144]:
a 0
e 22
dtype: int32
Series修改值
In [122]: series
Out[122]:
a 0
b 1
c 2
d 3
e 4
dtype: int32
通過索引來修改值
series.iloc[2] = 10
通過標(biāo)簽來修改值
series.loc['e'] = 22
In [139]: series
Out[139]:
a 0
b 1
c 10
d 3
e 22
dtype: int32
判斷值是否存在
in 并不是判斷值,而是根據(jù)標(biāo)簽索引來判斷
Series運(yùn)算
共同索引對應(yīng)運(yùn)算,其他值填充為NaN
Pandas會自動幫我們進(jìn)行數(shù)據(jù)轉(zhuǎn)換,當(dāng)我們的數(shù)據(jù)類型為None時,會把數(shù)據(jù)替換為NaN
當(dāng)沒用通過索引的時候,將全部變?yōu)镹aN
NaN與任何值計(jì)算都是NaN
In [148]: data = pd.Series(data=[1,2,3,4,None],index=['a','b','c','d','e'])
In [149]: data
Out[149]:
a 1.0
b 2.0
c 3.0
d 4.0
e NaN
dtype: float64
當(dāng)進(jìn)行對應(yīng)標(biāo)簽索引進(jìn)行相加的時候
In [148]: data = pd.Series(data=[1,2,3,4,None],index=['a','b','c','d','e'])
In [149]: data
Out[149]:
a 1.0
b 2.0
c 3.0
d 4.0
e NaN
dtype: float64
In [150]: data1 = pd.Series(data=[1,2,3,4,None],index=['a','b','c','d','e'])
In [151]: data1
Out[151]:
a 1.0
b 2.0
c 3.0
d 4.0
e NaN
dtype: float64
In [152]: data + data1
Out[152]:
a 2.0
b 4.0
c 6.0
d 8.0
e NaN
dtype: float64
當(dāng)對應(yīng)的標(biāo)簽索引位置進(jìn)行相加時
當(dāng)對應(yīng)是索引的位置沒有數(shù)值時,顯示的數(shù)值為NaN
In [148]: data = pd.Series(data=[1,2,3,4,None],index=['a','b','c','d','e'])
In [153]: data2 = pd.Series(data=[1,2,3],index=['a','b','c'])
In [156]: data
Out[156]:
a 1.0
b 2.0
c 3.0
d 4.0
e NaN
dtype: float64
In [157]: data2
Out[157]:
a 1
b 2
c 3
dtype: int64
In [158]: data + data2
Out[158]:
a 2.0
b 4.0
c 6.0
d NaN
e NaN
dtype: float64
當(dāng)不對應(yīng)的索引標(biāo)簽進(jìn)行相加的時候
當(dāng)對應(yīng)的索引標(biāo)簽不相同的時,顯示的全部結(jié)果為NaN
In [161]: data2 = pd.Series(data=[1,2,3],index=['a','b','c'])
In [162]: data3 = pd.Series(data=[1,2,3,4],index=['d','e','f','g'])
In [163]: data2
Out[163]:
a 1
b 2
c 3
dtype: int64
In [164]: data3
Out[164]:
d 1
e 2
f 3
g 4
dtype: int64
In [165]: data2 + data3
Out[165]:
a NaN
b NaN
c NaN
d NaN
e NaN
f NaN
g NaN
dtype: float64
到此,關(guān)于“Pandas的介紹及安裝方法”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!
分享題目:Pandas的介紹及安裝方法
網(wǎng)站鏈接:http://www.rwnh.cn/article0/gcggoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、企業(yè)網(wǎng)站制作、網(wǎng)站收錄、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)