2.pandas統計分析基礎
阿新 • • 發佈:2019-01-14
筆記說明:本文是我的學習筆記,大部分內容整理自 黃紅梅,張良均等.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。