數(shù)據(jù)處理基石:Pandas數(shù)據(jù)探索

Pandas數(shù)據(jù)初探索

本文介紹的是Pandas數(shù)據(jù)初探索。當(dāng)我們生成或者導(dǎo)入了數(shù)據(jù)之后,通過數(shù)據(jù)的探索工作能夠快速了解和認(rèn)識(shí)數(shù)據(jù)基本信息,比如數(shù)據(jù)中字段的類型、索引、最值、缺失值等,可以讓我們對(duì)數(shù)據(jù)的全貌有一個(gè)初步了解。

image

思維導(dǎo)圖

image

模擬數(shù)據(jù)

本文中的方法介紹使用的是一份模擬數(shù)據(jù),有字符型、數(shù)值型,還有時(shí)間類型;同時(shí)數(shù)據(jù)刻意存在了缺失值:

image

使用pandas的read_excel方法對(duì)數(shù)據(jù)進(jìn)行讀?。?/p>

image

同時(shí)生成一個(gè)Series類型數(shù)據(jù):

image

數(shù)據(jù)樣本

頭尾數(shù)據(jù)查看

  • head(N):默認(rèn)是頭部5條,可以指定查看N條
  • tail(N):默認(rèn)是尾部5條,可以指定查看N條
image

隨機(jī)查看sample

默認(rèn)是隨機(jī)看一條數(shù)據(jù),也可以指定查看的條數(shù):

image

查看數(shù)據(jù)形狀shape

在這里的形狀指的是數(shù)據(jù)有多少行和多少列,通過查看數(shù)據(jù)的shape就能知道數(shù)據(jù)的大小

  • DataFrame類型:兩個(gè)數(shù)值,表示行和列
  • Series類型:只有行數(shù)
image

數(shù)據(jù)大小size

數(shù)據(jù)大小表示的是數(shù)據(jù)中總共有多少個(gè)數(shù)據(jù),即shape方法的結(jié)果中兩個(gè)數(shù)值相乘

df.size  # 56=7*8

數(shù)據(jù)維度ndim

表示數(shù)據(jù)是多少維,比如二維,三維等

image

數(shù)據(jù)基本信息info

顯示數(shù)據(jù)類型、索引情況、行列數(shù)、列屬性名稱、占用的內(nèi)存等信息;Series數(shù)據(jù)沒有該方法

image

數(shù)據(jù)類型dtypes

df.dtypes  # 每個(gè)列屬性的數(shù)據(jù)類型
s.dtype  # 沒有s,結(jié)果一個(gè)類型
image

列屬性和行索引

通過axes來查看;DataFrame數(shù)據(jù)既有行索引也有列名,Series數(shù)據(jù)只有行索引。

image

查看行索引

通過專門的index屬性來查看行索引

image

查看列屬性

df.columns
image

查看數(shù)據(jù)

兩個(gè)方法或?qū)傩圆榭矗?/p>

  • values
  • to_numpy()
image

查看缺失值

在數(shù)據(jù)幀中如果存在缺失值,則用True表示,否則取值為False:

image

查看內(nèi)存情況memory_usage()

查看每列的內(nèi)存使用情況,以字節(jié)為單位:

df.memory_usage()
s.memory_usage()
image

統(tǒng)計(jì)信息

描述信息只針對(duì)數(shù)值型的數(shù)據(jù),可以看到該字段中數(shù)據(jù)的統(tǒng)計(jì)值信息

整體信息describe

返回的是數(shù)值型數(shù)據(jù)中的個(gè)數(shù)、均值、方差、四分位數(shù)等統(tǒng)計(jì)值情況

df.describe()
image

查看均值

一般 DataFrame 計(jì)算后為一個(gè) Series,Series 計(jì)算后是一個(gè)具體的數(shù)值

下面的代碼是按照列來計(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

下面的代碼是按照行來計(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
image

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() # 無偏方差
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ù)處理和分析。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容