1. 程式人生 > >2.pandas統計分析基礎

2.pandas統計分析基礎

筆記說明:本文是我的學習筆記,大部分內容整理自 黃紅梅,張良均等.Python資料分析與應用[M].北京:人民郵電出版社,2018,80-130. 還有部分片斷知識來自網路搜尋補充。

推薦 這個部落格帖子https://blog.csdn.net/hhtnan/article/details/80080240

文章目錄

1.讀寫文字檔案

import pandas as pd

1.1文字讀取

help(pd.read_table)
read_csv(filepath_or_buffer, sep=',', delimiter=None, header='infer',   
         names=None, index_col=None,dtype=None
, engine=None, nrows=None) #read_table同
引數 說明
filepath 檔案路徑
sep 分隔符。CSV預設",",table預設為製表符"Tab"
header 列名。預設為’infer’,自動識別
index_col 索引列的位置,int、sequence多重索引、False,預設為None
dtype 接受dict,代表寫入資料的型別
engine 接受c或者python,預設為C
encoding 編碼,常用utf-8,gbk,gb2312
nrows int,表示讀取資料的前n行,預設為None

1.2文字檔案儲存

dataframe.to_csv(path_or_buf=None, sep=',',  
                  na_rep='',columns=None,   
                  header=True,index=True,   
                  index_label=None,mode='w', encoding=None)
引數 說明
na_rep 缺失值
columns 接受list,代表寫出的列名
index 是否將行名(索引)寫出來,預設True
index_label 接收squence,表示索引名,預設是None
mode string,代表資料寫入模式,預設是w

1.3讀寫excel

pd.read_excel(io,sheetname=0,header=0,index_col=None,  
               names=None,dtype=None)

  • names:表示列名,接收array
  • dtype:寫入資料的型別,接收dict
dataframe.to_excel(excel_writer=None,sheetname='None',  
                    na_rep='',header=True,index=True,  
                    index_label=None,mode='w',
                    encoding=None)

2. 掌握dataframe常用操作

2.1 基本屬性

data=pd.read_excel("path/data.csv")
data.values
data.index
data.columns
data.dtypes
data.size
data.shape
data.ndim

2.2 查改增刪dataframe資料

2.2.1 loc 和 iloc訪問方式

  • loc是針對索引名稱的切片方式
  • iloc接收的是行索引和列索引的位置
# 單列切片
a=data.loc[:,'名字為此的一列']
a1=data.iloc[:,3]

# 多列切片
b=data.loc[:,['名字是小S','名字是小q']]
b1=data.iloc[:,[1,3]]

data.loc[data['這一列']=='777',['輸出這一列','還有這一列']]

loc在行索引傳入一個區間的話是閉區間!
loc接收傳入表示式,iloc不行

2.2.2 更改/新增/刪除dataframe資料

# 更改很簡單就是索引玩直接賦值
b=data.loc[:,['名字是小S','名字是小q']]==777

# 新增就是新建一個列然後賦值
data['新建一列']=data['counts']*data['amounts']

# 刪除
data.drop(labels,axis=0,level=None,inplace=False,errors='raise')

2.3描述分析dataframe資料

一般使用numpy包進行計算的時候是np.mean(data['這一列']),pandas基於numpy,可以data[‘這一列’].mean()。

方法 說明 方法 說明
min - max -
mean - ptp 極差
median 中位數 std -
var - cov 協方差
sem 標準誤差 mode 眾數
skew 樣本偏度 kurt 峰度
quantile 四分位數 count 非空值的數目
describe 描述統計 mad 平均絕對離差
value_counts 頻數統計
describe 描述性統計

3. 轉換與處理時間序列資料

這塊內容暫時先放下,以後再看。學的時候用的R語言操作的時間序列,時間序列的知識水平僅僅止步於Var,Garch,沒有更深入的學習。

4.使用分組聚合進行組內計算

目前用不上這個功能,excel能滿足我實習期間的任何計算,看了一遍懶得整理了。

5.資料透視表

用excel做吧,或者Tableau。