Pandas庫的引用
Pandas是python第三方庫渺杉,提供高性能易用數(shù)據(jù)類型和分析工具
import pandas as pd
Pandas基于Numpy實現(xiàn)彤钟,常與Numpy和Matplotlib一同使用
Pandas庫的理解
兩個數(shù)據(jù)類型:Series坠七,DataFrame
基于上述數(shù)據(jù)類型的各類操作(基本操作、運算操作莹妒、特征類操作赶站、關(guān)聯(lián)類操作)
Pandas庫的Series類型
Series類型可以由如下類型創(chuàng)建:
1.python列表,index與列表元素個數(shù)一致
2.標量值,index表達Series類型的尺寸
3.python字典产喉,鍵值對中的‘鍵’是索引捂掰,index從字典中進行選擇操作
4.ndarray,索引和數(shù)據(jù)都可以通過ndarray類型創(chuàng)建
5.其他函數(shù)曾沈,range()函數(shù)等
Series類型的基本操作
Series類型包括index和value兩部分
Series類型的操作類似ndarray類型
Series類型的操作類似python字典類型
Series類型的操作類似ndarray類型:
1.索引方法相同这嚣,采用[]
2.numpy中運算和操作可用于series類型
3.可以通過自定義索引的列表進行切片
4.可以通過自動索引進行切片,如果存在自定義索引塞俱,則一同被切片
Series類型的操作類似python字典類型:
1.通過自定義索引訪問
2.保留字in操作
3.使用.get()方法
Series是一維帶‘標簽’數(shù)組
index_0?? --->data_a
Series基本操作類似ndarray和字典姐帚,根據(jù)索引對齊
DataFrame類型可以由如下類型創(chuàng)建:
1.二維ndarray對象
2.由一維ndarray、列表敛腌、字典卧土、元組或Series構(gòu)成的字典
3.Series類型
4.其他的DataFrame類型
Pandas庫的數(shù)據(jù)類型操作
重新索引
.reindex(index=None,columns=None,...)的參數(shù)
index,columns??????????? 新的行列自定義索引
fill_value?????????????????????? 重新索引中惫皱,用于填充缺失位置的值
method?????????????????????? 填充方法像樊,ffill當(dāng)前值向前填充尤莺,bfill向后填充
limit???????????????????????????? 最大填充量
copy???????????????????????????? 默認true,生成新的對象生棍,false時颤霎,新舊相等不復(fù)制
索引類型的常用方法
.append(idx)?????????? 鏈接另一個index對象,產(chǎn)生新的index對象
.diff(idx)??????????????????? 計算差集涂滴,產(chǎn)生新的index對象
.intersection(idx)??????? 計算交集
.union(idx)?????????????????? 計算并集
.delete(loc)??????????????? 刪除loc位置處的元素
.insert(loc,e)?????????????? 在loc位置增加一個元素e
Pandas庫的數(shù)據(jù)類型運算
算術(shù)運算法則
算術(shù)運算根據(jù)行列索引友酱,補齊后運算,運算默認產(chǎn)生浮點數(shù)
補齊時缺項填充NaN(空值)
二維和一維柔纵、一維和零維間為廣播運算
采用+ - * /符號進行的二元運算產(chǎn)生新的對象
方法形式運算
.add(d,**argws)??? 類型間加法運算缔杉,可選參數(shù)
.sub(d,**argws)? ? 類型間減法運算,可選參數(shù)
.mul(d,**argws)? ? 類型間乘法運算搁料,可選參數(shù)
.div(d,**argws)? ? 類型間除法運算或详,可選參數(shù)
比較運算法則
比較運算只能比較相同索引的元素,不進行補齊
二維和一維郭计、一維和零維間為廣播運算
采用>? <? >=? <=? ==? !=等符號進行的二元運算產(chǎn)生布爾對象
Pandas的數(shù)據(jù)特征分析
.sort_values()方法在指定軸上根據(jù)數(shù)值進行排序霸琴,默認升序
Series.sort_values(axis=0,ascending=True)
DataFrame.sort_values(by,axis=0,ascending=True)
?????????????????? by:axis軸上的某個索引或索引列表
基本統(tǒng)計分析函數(shù)
適用于Series和DataFrame類型
.sum()?????????? 計算數(shù)據(jù)的總和,按0軸計算昭伸,下同
.count()???????? 非NaN值的數(shù)量
.mean()? .median()?? 計算數(shù)據(jù)的算術(shù)平均值梧乘,算術(shù)中位數(shù)
.var()?? .std()????? 計算數(shù)據(jù)的方差、標準差
.min()???? .max()???? 計算數(shù)據(jù)的最小值庐杨、最大值
.describe()???????? 針對0軸(各列)的統(tǒng)計匯總
適用于Series
.argmin()??? .argmax()??? 計算數(shù)據(jù)最大值选调、最小值所在位置的索引位置(自動索引)
.idxmin()???? .idxmax() ?? 計算數(shù)據(jù)最大值、最小值所在位置的索引(自定義索引)
累計統(tǒng)計分析函數(shù)
適用于Series和DataFrame類型灵份,累計計算
.cumsun()????????????????? 依次給出前1仁堪、2、...各吨、n個數(shù)的和
.cumprod()? ? ? ? ? ? ? ?? 依次給出前1枝笨、2、...揭蜒、n個數(shù)的積
.cummax()? ? ? ? ? ? ? ??? 依次給出前1横浑、2、...屉更、n個數(shù)的最大值
.cummin()?????????????????? 依次給出前1徙融、2、....瑰谜、n個數(shù)的最小值
適用于Series和DataFrame類型欺冀,滾動計算(窗口計算)
.rolling(w).sum()??????????????? 依次計算相鄰w個元素的和
.rolling(w).mean()? ? ? ? ? ? ?? 依次計算相鄰w個元素的算術(shù)平均值
.rolling(w).var()? ? ? ? ? ? ? ? ? ? 依次計算相鄰w個元素的方差
.rolling(w).std()? ? ? ? ? ? ? ???? 依次計算相鄰w個元素的標準差
.rolling(w).min() ? .max()? ? ? ? ? ? ? ? 依次計算相鄰w個元素的最小值和最大值
數(shù)據(jù)的相關(guān)分析
兩個事物树绩,表示為x和y,如何判斷它們之間的存在相關(guān)性隐轩?
相關(guān)性
????????? 1.x增大饺饭,y增大,兩個變量正相關(guān)
????????? 2.x增大职车,y減小瘫俊,兩個變量負相關(guān)
????????? 3.x增大,y無視悴灵,兩個變量不相關(guān)
相關(guān)分析函數(shù)
適用于Series和DataFrame類型
.cov()??????????????? 計算協(xié)方差矩陣
.corr()???????????????? 計算相關(guān)系數(shù)矩陣扛芽,Pearson、Spearman积瞒、Kendall等系數(shù)