python数据分析pandas_Python数据分析之pandas学习(基础操作)
一.pandas數(shù)據(jù)結(jié)構(gòu)介紹
在pandas中有兩類非常重要的數(shù)據(jù)結(jié)構(gòu),即序列Series和數(shù)據(jù)框DataFrame。Series類似于numpy中的一維數(shù)組,
除了通吃一維數(shù)組可用的函數(shù)或方法,而且其可通過索引標簽的方式獲取數(shù)據(jù),還具有索引的自動對齊功能;DataFrame
類似于numpy中的二維數(shù)組,同樣可以通用numpy數(shù)組的函數(shù)和方法,而且還具有其他靈活應(yīng)用,后續(xù)會介紹到。
二.pandas數(shù)據(jù)結(jié)構(gòu)之Series
#使用模塊之前先導(dǎo)入
importpandas as pdfrom pandas importSeriesfrom pandas importDataFrameimport numpy as np
1.series
Series是一種類似與一維數(shù)組的對象,由下面兩部分組成
values:一組數(shù)據(jù)(ndarray)
index:相關(guān)的數(shù)據(jù)索引標簽
1)Series的創(chuàng)建
兩種創(chuàng)建方式:
(1)由列表或numpy數(shù)組創(chuàng)建
默認索引為0到n-1的整形索引
(2)由字典創(chuàng)建:不能在使用index.但是依然存在默認索引 注意:數(shù)據(jù)源必須為一維數(shù)據(jù)
2)Series的索引和切片
可以使用中括號取單個索引(此時返回的是元素類型),或者中括號里一個列表取多個索引(此時返回的是一個Series類型)
(1) 顯式索引
使用index中的元素作為索引值
使用s.loc[](推薦):注意,loc中括號中放置的一定是顯式索引
注意:此時是閉區(qū)間
(2)隱式索引:
使用整數(shù)作為索引值
使用.iloc[](推薦) iloc中括號中放置的必須是隱式索引
注意:此時是半開區(qū)間
切片:隱式索引切片和顯式索引切片
顯式索引切片:index和loc
隱式索引切片:整數(shù)索引值和iloc
3)Series的基本概念
可以把Series看成是一個有序的字典
向Series增加一行:相當于給字典增加一組鍵值對
可以通過shape,size,index,values等得到series的屬性
可以使用s.head()和s.tail()分別查看前n個值和后n個值:
對Series元素進行去重:
當索引沒有對應(yīng)值時,可能出現(xiàn)缺失數(shù)據(jù)NaN(not a number)的情況 使得兩個Series進行相加:
可以使用pd.isnull(),pd.notnull(),或者s.isnull(),notnull(),函數(shù)檢測缺失數(shù)據(jù)
4)Series的運算 (1)+ - * / (2) add() sub() mul() div() :s1.add(s2,fill_value=0)
三.pandas數(shù)據(jù)結(jié)構(gòu)之DataFrame
DataFrame是一個[表格型]的數(shù)據(jù)結(jié)構(gòu).DataFrame由按一定順序排列的多列數(shù)據(jù)組成.設(shè)計之初也是將Series的使用場景從一維拓展到多維.DataFrame既有的行索引,又有列索引
行索引:index
列索引:columns
值:values
1)DataFrame的創(chuàng)建
最常用的方法是傳遞一個字典創(chuàng)建.DataFrame以字典的鍵作為每一[列]的名稱,
以字典的值(一個數(shù)組)作為每一列
此外,DataFrame會自動 加上每一行的索引.
使用字典創(chuàng)建的\DataFrame后,則columns(列索引)參數(shù)將不可被使用
同Series一樣,若傳入的列與字典的鍵不匹配,則相應(yīng)的值為NaN
(1)使用numpy創(chuàng)建DataFrame:
Dataframe的屬性:
values,colunmns,index,shape
(2)使用字典創(chuàng)建DataFrame
(3)使用多維數(shù)組創(chuàng)建
2)DataFrame的索引
(1)對列進行索引
通過類似字典的方式df['q']
通過屬性的方式 df.q
可以將DataFrame的列獲取為一個Series.返回的Series擁有原DataFrame相同的索引 ,且name的屬性也已經(jīng)設(shè)置好了,就是相應(yīng)的列名
(2)對行進行索引
使用.loc[]加index來進行行索引(顯示索引)
使用.iloc[]加整數(shù)來進行行索引(隱式索引)
同樣返回一個Series,index為原來的columns
(3)對元素索引的方法
使用列索引
使用行索引(iloc[3,1] or loc ['c','q']) 行索引在前,列索引在后
3)切片
注意: 直接使用中括號時候: 索引表示的是列索引,切片表示的是行切片
4)DataFrame的運算
(1)DataFrame之間的運算
同Series一樣:
在運算中自自動對齊不同索引的數(shù)據(jù)
如果索引不對應(yīng),則補給NaN
四.pandas之丟失數(shù)據(jù)的處理
有兩種丟失數(shù)據(jù)
None
np.nan(NaN)
總結(jié)
以上是生活随笔為你收集整理的python数据分析pandas_Python数据分析之pandas学习(基础操作)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python有几种打开方式_Python
- 下一篇: eval a string with n