pandas的groupby\query\str\pivot_table\apply
阿新 • • 發佈:2018-12-16
轉載:原文地址
import seaborn as sns import numpy as np df = sns.load_dataset(name="titanic") #對列的字元進行替換 #我們看到船票比如A/5 21171 有兩部分組成,一部分是英文字元,一部分是純數字,如果我們只想保留數字部分,我們直接用str字串進行處理 #df["fare"] = df["fare"].str.replace(r"[^d+]',") #資料集的過濾 df_temp_1 = df[(df["sex"]=="male")&(df["age"]<=38)] #query函式,重點函式 df_temp_2 = df.query("age in [22,38]") #資料的分類 #where函式 df["adult"] = np.where(df["age"]>=18,"adult","childen") #apply函式 def convert_age(age): if age>0 and age<=10: return "child" elif age<18: return "youth" else: return "adult" df["age category"] = df["age"].apply(convert_age) #資料的切片和透視表 df.groupby("sex")["survived"].agg(["count"]) #對資料進行軸切片分析 df.groupby(["survived","pclass"])["age"].agg(["size","max","min","mean"]) #資料透視表 df.pivot_table(columns=["sex"],index=["survived","pclass"],values="age",aggfunc={'age':[np.mean,min,max]})