栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Pandas小知识—map、apply、applymap

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Pandas小知识—map、apply、applymap

map是针对单列,apply是针对多列,applymap是针对全部元素

一、map

使用字典或者函数进行映射,将对应的数据逐个当作参数传入字典或者函数中,得到映射后的值

将A列的“男”替换为1,“女”替换为0

1、使用字典映射

        df['A']= df['A'].map({'男':1,'女':0})

2、使用函数

        def def_map(x):

                res= 1 if x== '男' else 0

                return res

        df['A']= df['A'].map(def_map) # 仅传入函数名,无需带括号

二、apply

用法与map类似,但是可以传入更为复杂的函数(传入map的函数只能接受一个参数)

1、对A和B相加

        df.loc['C'] = df[['A','B']].apply(lambda x : x.sum(), axis = 0)  # 列相加

        df['C'] = df[['A','B']].apply(lambda x : x.sum(), axis = 1)  # 行相加

2、对A、B列的数据若大于10则加1否则不变

        df[['A','B']]= df[['A','B']].apply(lambda x:x+1 if x>10 else x)

3、对C列的数据若大于10则加1小于10则减一否则不变

        df['C']= df['C'].apply(lambda x:x+1 if x>10 else (x-1 if x<10 else x))

三、applymap

用法类似,作用范围是每个单元格

将df所有数据后面添加"!"

1、使用匿名函数

        df= df.applymap(lambda x:str(x)+'!')

2、使用函数

        def str(n):

                return str(n)+'!'

        df= df.applymap(str)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/744494.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号