转载:原文地址
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]})