佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > python數(shù)據(jù)分析必會的Pandas技巧匯總

python數(shù)據(jù)分析必會的Pandas技巧匯總

熱門標簽:鐵路電話系統(tǒng) 智能手機 銀行業(yè)務 網(wǎng)站文章發(fā)布 服務器配置 呼叫中心市場需求 檢查注冊表項 美圖手機

一、Pandas兩大數(shù)據(jù)結構的創(chuàng)建

序號 方法 說明
1 pd.Series(對象,index=[ ]) 創(chuàng)建Series。對象可以是列表\ndarray、字典以及DataFrame中的某一行或某一列
2 pd.DataFrame(data,columns = [ ],index = [ ]) 創(chuàng)建DataFrame。columns和index為指定的列、行索引,并按照順序排列

舉例:用pandas創(chuàng)建數(shù)據(jù)表:

df = pd.DataFrame({"id":[1001,1002,1003,1004,1005,1006], 
 "date":pd.date_range('20130102', periods=6),
  "city":['Beijing ', 'SH', ' guangzhou ', 'Shenzhen', 'shanghai', 'BEIJING '],
 "age":[23,44,54,32,34,32],
 "category":['100-A','100-B','110-A','110-C','210-A','130-F'],
  "price":[1200,np.nan,2133,5433,np.nan,4432]},
  columns =['id','date','city','category','age','price'])

二、DataFrame常見方法

序號 方法 說明
1 df.head() 查詢數(shù)據(jù)的前五行
2 df.tail() 查詢數(shù)據(jù)的末尾5行
3 pandas.qcut() 基于秩或基于樣本分位數(shù)將變量離散化為等大小桶
4 pandas.cut() 基于分位數(shù)的離散化函數(shù)
5 pandas.date_range() 返回一個時間索引
6 df.apply() 沿相應軸應用函數(shù)
7 Series.value_counts() 返回不同數(shù)據(jù)的計數(shù)值
8 df.reset_index() 重新設置index,參數(shù)drop = True時會丟棄原來的索引,設置新的從0開始的索引,常與groupby()一起用

舉例:重新索引

df_inner.reset_index()

三、數(shù)據(jù)索引

序號 方法 說明
1 .values 將DataFrame轉換為ndarray二維數(shù)組
2 .append(idx) 連接另一個Index對象,產(chǎn)生新的Index對象
3 .insert(loc,e) 在loc位置增加一個元素
4 .delete(loc) 刪除loc位置處的元素
5 .union(idx) 計算并集
6 .intersection(idx) 計算交集
7 .diff(idx) 計算差集,產(chǎn)生新的Index對象
8 .reindex(index, columns ,fill_value, method, limit, copy ) 改變、重排Series和DataFrame索引,會創(chuàng)建一個新對象,如果某個索引值當前不存在,就引入缺失值。
9 .drop() 刪除Series和DataFrame指定行或列索引。
10 .loc[行標簽,列標簽] 通過標簽查詢指定的數(shù)據(jù),第一個值為行標簽,第二值為列標簽。
11 df.iloc[行位置,列位置] 通過默認生成的數(shù)字索引查詢指定的數(shù)據(jù)。

舉例:按索引提取單行的數(shù)值

df_inner.loc[3]

四、DataFrame選取和重新組合數(shù)據(jù)的方法

序號 方法 說明
1 df[val] 從DataFrame選取單列或一組列;在特殊情況下比較便利:布爾型數(shù)組(過濾行)、切片(行切片)、或布爾型DataFrame(根據(jù)條件設置值)
2 df.loc[val] 通過標簽,選取DataFrame的單個行或一組行
3 df.loc[:,val] 通過標簽,選取單列或列子集
4 df.1oc[val1,val2] 通過標簽,同時選取行和列
5 df.iloc[where] 通過整數(shù)位置,從DataFrame選取單個行或行子集
6 df.iloc[:,where] 通過整數(shù)位置,從DataFrame選取單個列或列子集
7 df.iloc[where_i,where_j] 通過整數(shù)位置,同時選取行和列
8 df.at[1abel_i,1abel_j] 通過行和列標簽,選取單一的標量
9 df.iat[i,j] 通過行和列的位置(整數(shù)),選取單一的標量
10 reindex 通過標簽選取行或列
11 get_value 通過行和列標簽選取單一值
12 set_value 通過行和列標簽選取單一值

舉例:使用iloc按位置區(qū)域提取數(shù)據(jù)

df_inner.iloc[:3,:2]

#冒號前后的數(shù)字不再是索引的標簽名稱,而是數(shù)據(jù)所在的位置,從0開始,前三行,前兩列。

五、排序

序號 函數(shù) 說明
1 .sort_index(axis=0, ascending=True) 根據(jù)指定軸索引的值進行排序
2 Series.sort_values(axis=0, ascending=True) 只能根據(jù)0軸的值排序。
3 DataFrame.sort_values(by, axis=0, ascending=True) 參數(shù)by為axis軸上的某個索引或索引列表。

舉例:按照索引列排序

df_inner.sort_index()

六、相關分析和統(tǒng)計分析

序號 方法 說明
1 .idxmin() 計算數(shù)據(jù)最小值所在位置的索引(自定義索引)
2 .idxmax() 計算數(shù)據(jù)最大值所在位置的索引(自定義索引)
3 .argmin() 計算數(shù)據(jù)最小值所在位置的索引位置(自動索引)
4 .argmax() 計算數(shù)據(jù)最大值所在位置的索引位置(自動索引)
5 .describe() 針對各列的多個統(tǒng)計匯總,用統(tǒng)計學指標快速描述數(shù)據(jù)的概要
6 .sum() 計算各列數(shù)據(jù)的和
7 .count() 非NaN值的數(shù)量
8 .mean( ) 計算數(shù)據(jù)的算術平均值
9 .median() 計算算術中位數(shù)
10 .var() 計算數(shù)據(jù)的方差
11 .std() 計算數(shù)據(jù)的標準差
12 .corr() 計算相關系數(shù)矩陣
13 .cov() 計算協(xié)方差矩陣
14 .corrwith() 利用DataFrame的corrwith方法,可以計算其列或行跟另一個Series或DataFrame之間的相關系數(shù)。
15 .min() 計算數(shù)據(jù)的最小值
16 .max() 計算數(shù)據(jù)的最大值
17 .diff() 計算一階差分,對時間序列很有效
18 .mode() 計算眾數(shù),返回頻數(shù)最高的那(幾)個
19 .mean() 計算均值
20 .quantile() 計算分位數(shù)(0到1)
21 .isin() 用于判斷矢量化集合的成員資格,可用于過濾Series中或DataFrame列中數(shù)據(jù)的子集
22 .unique() 返回一個Series中的唯一值組成的數(shù)組。
23 .value_counts() 計算一個Series中各值出現(xiàn)的頻率。

舉例:判斷city列的值是否為北京

df_inner['city'].isin(['beijing']) 

七、分組的方法

序號 方法 說明
1 DataFrame.groupby() 分組函數(shù)
2 pandas.cut() 根據(jù)數(shù)據(jù)分析對象的特征,按照一定的數(shù)值指標,把數(shù)據(jù)分析對象劃分為不同的區(qū)間部分來進行研究,以揭示其內(nèi)在的聯(lián)系和規(guī)律性。

舉例:.groupby用法

group_by_name=salaries.groupby('name')
print(type(group_by_name))

輸出結果為:

class 'pandas.core.groupby.DataFrameGroupBy'

八、讀寫文本格式數(shù)據(jù)的方法

序號 方法 說明
1 read_csv 從文件、URL、文件型對象中加載帶分隔符的數(shù)據(jù)。默認分隔符為逗號
2 read_table 從文件、URL、文件型對象中加載帶分隔符的數(shù)據(jù)。默認分隔符為制表符(t)
3 read_ fwf 讀取定寬列格式數(shù)據(jù)(也就是說,沒有分隔符)
4 read_clipboard 讀取剪貼板中的數(shù)據(jù),可以看做read_table的剪貼板版。再將網(wǎng)頁轉換為表格時很有用
5 read_excel 從ExcelXLS或XLSXfile 讀取表格數(shù)據(jù)
6 read_hdf 讀取pandas寫的HDF5文件
7 read_html 讀取HTML文檔中的所有表格
8 read_json 讀取JSON字符串中的數(shù)據(jù)
9 read_msgpack 二進制格式編碼的pandas數(shù)據(jù)
10 read_pickle 讀取Python pickle格式中存儲的任意對象
11 read_sas 讀取存儲于SAS系統(tǒng)自定義存儲格式的SAS數(shù)據(jù)集
12 read_sql 讀取SQL 查詢結果為pandas的DataFrame
13 read_stata 讀取Stata文件格式的數(shù)據(jù)集
14 read_feather 讀取 Feather二進制文件格式

舉例:導入CSV或者xlsx文件

df = pd.DataFrame(pd.read_csv('name.csv',header=1))
df = pd.DataFrame(pd.read_excel('name.xlsx'))

九、處理缺失數(shù)據(jù)

序號 方法 說明
1 .fillna(value,method,limit,inplace) 填充缺失值
2 .dropna() 刪除缺失數(shù)據(jù)
3 .info() 查看數(shù)據(jù)的信息,包括每個字段的名稱、非空數(shù)量、字段的數(shù)據(jù)類型
4 .isnull() 返回一個同樣長度的值為布爾型的對象(Series或DataFrame),表示哪些值是缺失的

舉例:查看數(shù)據(jù)表基本信息(維度、列名稱、數(shù)據(jù)格式等等)

df.info()

十、數(shù)據(jù)轉換

序號 方法 說明
1 .replace(old, new) 用新的數(shù)據(jù)替換老的數(shù)據(jù),如果希望一次性替換多個值,old和new可以是列表。默認會返回一個新的對象,傳入inplace=True可以對現(xiàn)有對象進行就地修改。
2 .duplicated() 判斷各行是否是重復行,返回一個布爾型Series。
3 .drop_duplicates() 刪除重復行,返回刪除后的DataFrame對象。

舉例:刪除后出現(xiàn)的重復值:

df['city'].drop_duplicates()

本文總結的是都是一些Pandas常用的方法,至于一些基礎的概念還需要你學到Pandas的時候去理解,例如Series是什么?DataFrame是什么?如果你已經(jīng)清楚了Pandas的這些基礎東西之后,搭配上文章中的這些方法,那你用Pandas去做數(shù)據(jù)處理和分析必然會游刃有余。

您可能感興趣的文章:
  • Pandas數(shù)據(jù)分析的一些常用小技巧
  • python之pandas用法大全
  • Python pandas用法最全整理
  • Python Pandas常用函數(shù)方法總結
  • Python遍歷pandas數(shù)據(jù)方法總結
  • Python pandas常用函數(shù)詳解
  • Python使用Pandas庫常見操作詳解
  • pandas提升計算效率的一些方法匯總
  • 11個Python Pandas小技巧讓你的工作更高效(附代碼實例)
  • 詳解pandas獲取Dataframe元素值的幾種方法

標簽:紅河 長治 沈陽 樂山 上海 滄州 河南 新疆

巨人網(wǎng)絡通訊聲明:本文標題《python數(shù)據(jù)分析必會的Pandas技巧匯總》,本文關鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    保德县| 定结县| 南昌市| 江津市| 锦屏县| 诏安县| 额济纳旗| 香港| 虎林市| 务川| 宜宾县| 南岸区| 鄂州市| 玛纳斯县| 康平县| 永嘉县| 女性| 仙桃市| 孟村| 方正县| 衡山县| SHOW| 潮州市| 江华| 涡阳县| 汶川县| 盱眙县| 开原市| 富裕县| 苏尼特右旗| 界首市| 新郑市| 河曲县| 新疆| 克山县| 丰城市| 离岛区| 潮州市| 剑阁县| 洛扎县| 麟游县|