python pandas常用資料處理方法
阿新 • • 發佈:2018-11-09
pandas
1、header = 0 不同於 header = None header = 0 表示 第0行為列 header = None 表示讀取的時候 認為沒有標題,全是資料 可以用 skiprows = 1 跳過列名 2、pandas 獲取指定的行列資料 df.iloc[0:2,[0,3]] #讀取 第 [0,2)行的第[0,3)列 3、建立 df = DataFram(data,index = '',columns = '') dates = pd.date_range('20130101', periods=3) data = pd.DataFrame(data,index=dates,columns=['A','B','C']) 4、檢視列標題,行標題,資料描述,轉置 df.columns df.index df.describe() #帶括號 檢視資料描述,包括均值,方差,分位點 df.T 5、排序 df.sort_values(by='B') # 按照 列 B 進行排序 預設升序 df.sort_index(axis=1,ascending=False) # 根據索引 排序 axis = 1 表示 分別對每一行排序,axis= 0表示對每一列排序 ascending = False 表示按照降序排序 6、行列選擇 df.loc[:,['A','B']] #選擇所有行的 A,B列 df[0:3] #選擇[0,3)行 df.iloc[3] #選擇第三行資料 df.iloc[3:5,0:2] # [3,5)行 [0,2)列資料 df.iloc[3:5,0:2] # 這裡都是切片 df.iloc[[1,2,4],[0,2]] #用列表進行跳躍選擇 行列 注意這樣的話 行選擇需要是列表需要多加一層[] [[1,2,3],[0:2]]是錯誤的 df.iloc[1,1] = df.iat[1,1] #獲取位置[1,1] 的元素(單個元素可以不寫成列表形式) 7、資料選擇、賦值 (1)對某一列進行資料選擇 df[df.A > 0] # 判斷 A列值是否大於0 返回boolean值 df[df > 0] = -df # 把 df(可以看作矩陣) 中大於0的元素 取反 (2) 把 D列賦值為 np.array() df.loc[:,'D'] = np.array([5] * len(df)) 8、缺失值處理 (1)去除包含缺失值的行(只要有缺失值就去掉) df1.dropna(how='any') (2)把缺失值改為5 df1.fillna(value=5) (3)判斷是否是缺失值 pd.isna(df1) # 返回 bool矩陣,注意 是 用 pd呼叫 df 9、資料統計 (1)求均值 df.mean(axis = 1) # 對每一行求均值 預設為按照列求均值 10、groupby用法 data = [ ['男',20,98], ['男',24,88], ['女',35,89], ['女',27,90] ] df = pd.DataFrame(data,columns=['gender','age','score']) print(df) print(df.groupby("gender").size()) print(df.groupby("gender").mean()) Output: gender age score 0 男 20 98 1 男 24 88 2 女 35 89 3 女 27 90 gender 女 2 男 2 dtype: int64 age score gender 女 31.0 89.5 男 22.0 93.0
參考:
http://pandas.pydata.org/pandas-docs/stable/10min.html 官方10分鐘教程
https://blog.csdn.net/brucewong0516/article/details/79096633