1、DataFrame屬性
屬性或方法 | 描述 |
---|---|
DataFrame.index | DataFrame的index(行標籤) |
DataFrame.columns、DataFrame.columns.tolist() | DataFrame的列標籤、將列名轉換爲list結構 |
DataFrame.dtypes | 返回DataFrame的數據類型 |
DataFrame.select_dtypes(self[,include,exclude]) | Return a subset of the |
DataFrame.values | 將DataFrame中實際數據作爲ndarray返回 |
DataFrame.axes |
返回一個列,行軸標籤和列軸標籤作爲唯一的成員 |
DataFrame.ndim | 數據維度大小,默認爲2維 |
DataFrame.size | DataFrame中元素個數 |
DataFrame.shape | 返回表示DataFrame的維度的元組 |
DataFrame.empty | 如果DataFrame爲空,返回True,任何軸的長度都爲0 |
DataFrame.memory_usage(self[,index,deep]) | |
DataFrame.T | 轉置行和列 |
2、indexing、iteration
方法 | 描述 |
---|---|
DataFrame.head(self,n) | 返回開頭前n行,默認前5行 |
DataFrame.tail(self,n) | 返回最後n行,默認最後5行 |
DataFrame.loc | 使用column和index進行定位 |
DataFrame.iloc | 即index locate,按位置進行定位,參數是整型 |
DataFrame.isin(self,values) | |
DataFrame.where(self,cond[,other,...]) | |
3、計算/描述性統計函數
函數 | 描述 |
---|---|
DataFrame.abs() | 絕對值 |
DataFrame.min()、DataFrame.max() | 最小值、最大值 |
DataFrame.mean() | 均值 |
DataFrame.median() | 中位數 |
DataFrame.sum()、DataFrame.prod() | 和、乘積 |
DataFrame.std()、DataFrame.var() | 標準差、方差 |
DataFrame.count() | 非空數據量 |
DataFrame.cumsum()、DataFrame.cumprod() | 累計總和、累計乘積 |
DataFrame.cummax()、DataFrame.cummin() | 累計最大值、累計最小值 |
DataFrame.cov() | 協方差,不包括NA/null值 |
DataFrame.corr() | 計算相關係數,不包括NA/null值 |
DataFrame.corrwith() | 計算相關係數,不包括NA/null值 |
DataFrame.describe() | 描述性統計 |
DataFrame.prod() | 乘積 |
DataFrame.product() | 乘積 |
DataFrame.rank() | 排序 |
DataFrame.round() | 四捨五入 |
DataFrame.quantile() | 返回給定分位數值 |
DataFrame.nunique() | 不同值 |
DataFrame.skew() | 計算偏度 |
3、缺失數據處理
函數 | 描述 |
---|---|
DataFrame.dropna() | 刪除缺失值 |
DataFrame.fillna() |
使用指定方法填充NA/NaN值 |
DataFrame.dropna(self, axis=0, how='any', thresh=None, subset=None, inplace=False)
參數:
axis: 0 or index 刪除包含缺失值的行,1 or columns 刪除包含缺失值的列,默認0;
how:any,all,默認any,any:只要含有NA,刪除該行/列;all:只有該行/列均爲NA才刪除;
thresh:指定行/列具有非NA的數目,即至少有thresh個非NA時才保留;
subset:對特定的列進行缺失值刪除處理;
inplace:True修改原有的DataFrame,默認False。
DataFrame.fillna(self, value=None, method=None, axis=None, inplace=False, limit=None, downcast=None)
參數:
value: 變量、字典、Series,DataFrame;用於填充填充缺失值,或指定爲每個索引(對於Series)或列(對於DataFrame)的缺失值使用字典/Series/DataFrame的值填充;
method: {'backfill', 'bfill', 'pad', 'ffill', None}, 默認None, pad/ffill表示向後填充空值,backfill/bfill表示向前填充空值;
axis: {0 or 'index', 1 or 'columns'};
inplace: boolean, 默認爲False;
limit: int, 默認爲None,如果指定了方法,則這是連續的NaN值的前向/後向填充的最大數量。
downcast: dict, 默認None, 字典中的項爲類型向下轉換規則。
DataFrame.replace(self, to_replace=None, value=None, inplace=False, limit=None, regex=False, method='pad')
參數:
4、Reshaping, sorting, transposing
函數 | 描述 |
---|---|
DataFrame.sort_values(by,axis=0,ascending=True,inplace=False) | 按照值排序 |
DataFrame.sort_index(axis=0,ascending=False,inplace=False) | 按照索引排序 |
DataFrame.reset_index(drop=True) | 重置索引,刪除原索引 |
DataFrame.pivot_table(index,columns,values,aggfunc="mean") | 透視表 |
DataFrame.sort_values(by,axis=0,ascending=True,inplace=False,kind="quicksort",na_position="last",ignore_index=False)
參數:
by:str or list of str;如果axis=0,by="列名";如果axis=1,by="行名";
axis: 0 or index,1 or columns,默認爲0,按照索引排序,即縱向排序,爲1橫向排序;
ascending:布爾型,True升序,False降序;
inplace:布爾型,是否用排序後的數據框替換現有的數據框;
kind:排序方法,{"quicksort", "mergesort", "heapsort"}, 默認"quicksort"。
na_position:{"first", "last"}, 默認"last",默認缺失值排在最後面
ignore_index:
return:DataFrame,如果inplace=False,返回排序後的DataFrame。
DataFrame.sort_index(self,axis=0,level=None,ascending=True,inplace=False,kind="quicksort",na_position="last",sort_remaining=True, ignore_index: bool = False)
參數:
axis: 0 按照行名排序,1按照列名排序;
level:默認None,否則按照給定的level順序排列
ascending:布爾型,True升序,False降序;
inplace:布爾型,是否用排序後的數據框替原來有的數據框;
kind:排序方法,{"quicksort", "mergesort", "heapsort"}, 默認"quicksort"。
na_position:{"first", "last"}, 默認"last",默認缺失值排在最後
ignore_index:
return:DataFrame,如果inplace=False,返回排序後的DataFrame。
DataFrame.pivot_table(self, values=None, index=None, columns=None, aggfunc='mean', fill_value=None, margins=False, dropna=True, margins_name='All', observed=False) → 'DataFrame'
參數: