Pandas數(shù)據(jù)初探索
本文介紹的是Pandas數(shù)據(jù)初探索。當(dāng)我們生成或者導(dǎo)入了數(shù)據(jù)之后咱圆,通過(guò)數(shù)據(jù)的探索工作能夠快速了解和認(rèn)識(shí)數(shù)據(jù)基本信息笛辟,比如數(shù)據(jù)中字段的類(lèi)型、索引序苏、最值手幢、缺失值等,可以讓我們對(duì)數(shù)據(jù)的全貌有一個(gè)初步了解忱详。
思維導(dǎo)圖
模擬數(shù)據(jù)
本文中的方法介紹使用的是一份模擬數(shù)據(jù)围来,有字符型、數(shù)值型匈睁,還有時(shí)間類(lèi)型监透;同時(shí)數(shù)據(jù)刻意存在了缺失值:
使用pandas的read_excel方法對(duì)數(shù)據(jù)進(jìn)行讀取:
同時(shí)生成一個(gè)Series類(lèi)型數(shù)據(jù):
數(shù)據(jù)樣本
頭尾數(shù)據(jù)查看
- head(N):默認(rèn)是頭部5條航唆,可以指定查看N條
- tail(N):默認(rèn)是尾部5條胀蛮,可以指定查看N條
隨機(jī)查看sample
默認(rèn)是隨機(jī)看一條數(shù)據(jù),也可以指定查看的條數(shù):
查看數(shù)據(jù)形狀shape
在這里的形狀指的是數(shù)據(jù)有多少行和多少列佛点,通過(guò)查看數(shù)據(jù)的shape就能知道數(shù)據(jù)的大小
- DataFrame類(lèi)型:兩個(gè)數(shù)值醇滥,表示行和列
- Series類(lèi)型:只有行數(shù)
數(shù)據(jù)大小size
數(shù)據(jù)大小表示的是數(shù)據(jù)中總共有多少個(gè)數(shù)據(jù)黎比,即shape方法的結(jié)果中兩個(gè)數(shù)值相乘
df.size # 56=7*8
數(shù)據(jù)維度ndim
表示數(shù)據(jù)是多少維超营,比如二維鸳玩,三維等
數(shù)據(jù)基本信息info
顯示數(shù)據(jù)類(lèi)型、索引情況演闭、行列數(shù)不跟、列屬性名稱(chēng)、占用的內(nèi)存等信息米碰;Series數(shù)據(jù)沒(méi)有該方法
數(shù)據(jù)類(lèi)型dtypes
df.dtypes # 每個(gè)列屬性的數(shù)據(jù)類(lèi)型
s.dtype # 沒(méi)有s窝革,結(jié)果一個(gè)類(lèi)型
列屬性和行索引
通過(guò)axes來(lái)查看;DataFrame數(shù)據(jù)既有行索引也有列名吕座,Series數(shù)據(jù)只有行索引虐译。
查看行索引
通過(guò)專(zhuān)門(mén)的index屬性來(lái)查看行索引
查看列屬性
df.columns
查看數(shù)據(jù)
兩個(gè)方法或?qū)傩圆榭矗?/p>
- values
- to_numpy()
查看缺失值
在數(shù)據(jù)幀中如果存在缺失值,則用True表示吴趴,否則取值為False:
查看內(nèi)存情況memory_usage()
查看每列的內(nèi)存使用情況漆诽,以字節(jié)為單位:
df.memory_usage()
s.memory_usage()
統(tǒng)計(jì)信息
描述信息只針對(duì)數(shù)值型的數(shù)據(jù),可以看到該字段中數(shù)據(jù)的統(tǒng)計(jì)值信息
整體信息describe
返回的是數(shù)值型數(shù)據(jù)中的個(gè)數(shù)锣枝、均值厢拭、方差、四分位數(shù)等統(tǒng)計(jì)值情況
df.describe()
查看均值
一般 DataFrame 計(jì)算后為一個(gè) Series撇叁,Series 計(jì)算后是一個(gè)具體的數(shù)值
下面的代碼是按照列來(lái)計(jì)算均值:
df.mean() # 按列計(jì)算
# 結(jié)果
age 21.714286
chinese 111.285714
math 117.000000
english 119.571429
dtype: float64
查看某個(gè)列的均值:
df["math"].mean() # 117.0
下面的代碼是按照行來(lái)計(jì)算均值:
df.mean(1) # 按照行計(jì)算
0 89.50
1 96.25
2 87.50
3 93.50
4 89.25
5 95.50
6 95.25
dtype: float64
Pandas內(nèi)置數(shù)學(xué)計(jì)算方法
Pandas中內(nèi)置的多種數(shù)學(xué)計(jì)算函數(shù)
# 默認(rèn)按照列0計(jì)算供鸠,1表示按照行計(jì)算
df.abs() # 絕對(duì)值
df.mode() # 眾數(shù)
df.mean() # 返回所有列的均值
df.mean(1) # 返回所有行的均值
df.max() # 返回每一列的最大值
df.min() # 返回每一列的最小值
df.median() # 返回每一列的中位數(shù)
df.std() # 返回每一列的標(biāo)準(zhǔn)差, 貝塞爾校正的樣本標(biāo)準(zhǔn)偏差
df.var() # 無(wú)偏方差
df.corr() # 返回列與列之間的相關(guān)系數(shù)
df.count() # 返回每一列中的非空值的個(gè)數(shù)
df.prod() # 連乘
df.mad() # 平均絕對(duì)偏差
df.cumprod() # 累積連乘,累乘
df.cumsum(axis=0) # 累積連加,累加
df.nunique() # 去重?cái)?shù)量,不同值的量
df.sem() # 平均值的標(biāo)準(zhǔn)誤差
df.idxmax() # 每列最大的值的索引名
df.idxmin() # 最小
df.cummin() # 累積最小值
df.cummax() # 累積最大值
df.skew() # 樣本偏度 (第三階)
df.kurt() # 樣本峰度 (第四階)
df.quantile() # 樣本分位數(shù) (不同 % 的值)
總結(jié)
本文主要是對(duì)Pandas中的數(shù)據(jù)探索做了一個(gè)詳細(xì)介紹陨闹,幫助我們快速了解數(shù)據(jù)的基本信息楞捂,同時(shí)也方便后續(xù)的數(shù)據(jù)處理和分析。