pandas的groupby\query\str\pivot_table\apply

转载:原文地址

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]})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值