4.5 数据处理操作-map apply applymap

这篇博客介绍了Pandas中用于数据处理的map、apply和applymap方法。map主要应用于Series,可以接受函数或映射关系,处理单个元素。apply方法更灵活,能处理更复杂的函数,尤其适用于需要额外参数的情况。对于DataFrame,apply方法可以根据axis参数对行或列进行处理,而applymap则会对DataFrame中的每个元素应用指定函数。文中还给出了多个示例,包括计算BMI指数、调整数据精度等。
摘要由CSDN通过智能技术生成

在日常的数据处理中,经常会对一个DataFrame进行逐行、逐列和逐元素的操作。Pandas中的map、apply和applymap可以解决绝大部分这样的数据处理需求。

In [1]:

import numpy as np
import pandas as pd

4.5.1 Series数据处理

1. map用法

  • Series的map方法可以接受一个函数或含有映射关系的字典型对象,实现对应元素值转换。

In [2]:

#读取学生信息
st = pd.read_excel('data/stinfo.xlsx',index_col=0)
st.head(3)

Out[2]:

姓名 学号 出生日期 年龄 籍贯 性别 身高 体重 linux python 网络 数据库 IT基础
0 甲一 50 2001年1月1日 19 福田 172 69 92 90 82 NaN 80
1 乙二 51 1999年2月2日 21 龙岗 180 77 95 88 85 NaN 80
2 丙三 52 2002年3月3日 18 南山 160 49 85 91 93 NaN 80

将性别的男女类别用1和0替换:

In [3]:

#使用字典进行映射
st["性别"] = st["性别"].map({"男":1, "女":0})
st.head(3)

Out[3]:

姓名 学号 出生日期 年龄 籍贯 性别 身高 体重 linux python 网络 数据库 IT基础
0 甲一 50 2001年1月1日 19 福田 1 172 69 92 90 82 NaN 80
1 乙二 51 1999年2月2日 21 龙岗 1 180 77 95 88 85 NaN 80
2 丙三 52 2002年3月3日 18 南山 0 160 49 85 91 93 NaN 80

将学号补全:

In [4]:

st['学号'] = st['学号'].map('20010203{}'.format)
st.head(3)

Out[4]:

姓名 学号 出生日期 年龄 籍贯 性别 身高 体重 linux python 网络 数据库 IT基础
0 甲一 2001020350 2001年1月
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chenos121

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值