pandas数据分析的常用方法map和apply

一、方法map的使用

import numpy as np
import pandas as pd
boolean = [True, False]
gender = ["男","女"]
color = ['white','black','yellow']
data = pd.DataFrame({
    'height':np.random.randint(150,190,100),
    'weight':np.random.randint(40,90,100),
    'smoker':[boolean[x] for x in np.random.randint(0,2,100)],
    'gender':[gender[x] for x in np.random.randint(0,2,100)],
    'age':np.random.randint(15,90,100),
    'color':[color[x] for x in np.random.randint(0,len(color),100)]
})

在这里插入图片描述

将性别映射为0/1

def gender_map(x):
    gender = 1 if x == "男" else 0
    return gender
data['gender'] = data['gender'].map(gender_map)
# 直接简历字典进行映射(等效上面)
data['gender'] = data['gender'].map({"男":1,"女":0})

在这里插入图片描述

二、方法apply的使用

(一)增加一列BMI指标

def BMI(series):
    weight = series['weight']
    height = series['height']/100
    BMI = weight/height**2
    return BMI

data['BMI'] = data.apply(BMI,axis=1)

在这里插入图片描述

(二)年龄整体减小3岁

def apply_age(x,bias):
    return x + bias
data['age'] = data['age'].apply(apply_age, args=(-3,))

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值