对pandas中Series的map函数详解


Posted in Python onJuly 25, 2018

Series的map方法可以接受一个函数或含有映射关系的字典型对象。

使用map是一种实现元素级转换以及其他数据清理工作的便捷方式。

(DataFrame中对应的是applymap()函数,当然DataFrame还有apply()函数)

1、字典映射

import pandas as pd
from pandas import Series, DataFrame

data = DataFrame({'food':['bacon','pulled pork','bacon','Pastrami',
   'corned beef','Bacon','pastrami','honey ham','nova lox'],
     'ounces':[4,3,12,6,7.5,8,3,5,6]})
meat_to_animal = {
 'bacon':'pig',
 'pulled pork':'pig',
 'pastrami':'cow',
 'corned beef':'cow',
 'honey ham':'pig',
 'nova lox':'salmon' } 

data['animal'] = data['food'].map(str.lower).map(meat_to_animal) 
data 

data['food'].map(lambda x: meat_to_animal[x.lower()])

2、应用函数

In [579]: import pandas as pd

In [580]: from pandas import Series, DataFrame

In [581]: index = pd.date_range('2017-08-15', periods=10)

In [582]: ser = Series(list(range(10)), index=index)

In [583]: ser
Out[583]: 
2017-08-15 0
2017-08-16 1
2017-08-17 2
2017-08-18 3
2017-08-19 4
2017-08-20 5
2017-08-21 6
2017-08-22 7
2017-08-23 8
2017-08-24 9
Freq: D, dtype: int64


In [585]: ser.index.map(lambda x: x.day)
Out[585]: Int64Index([15, 16, 17, 18, 19, 20, 21, 22, 23, 24], dtype='int64')

In [586]: ser.index.map(lambda x: x.weekday)
Out[586]: Int64Index([1, 2, 3, 4, 5, 6, 0, 1, 2, 3], dtype='int64')

In [587]: ser.map(lambda x: x+10)
Out[587]: 
2017-08-15 10
2017-08-16 11
2017-08-17 12
2017-08-18 13
2017-08-19 14
2017-08-20 15
2017-08-21 16
2017-08-22 17
2017-08-23 18
2017-08-24 19
Freq: D, dtype: int64

In [588]: def f(x):
  ...:  if x < 5:
  ...:   return True
  ...:  else:
  ...:   return False
  ...:  

In [589]: ser.map(f)
Out[589]: 
2017-08-15  True
2017-08-16  True
2017-08-17  True
2017-08-18  True
2017-08-19  True
2017-08-20 False
2017-08-21 False
2017-08-22 False
2017-08-23 False
2017-08-24 False
Freq: D, dtype: bool

以上这篇对pandas中Series的map函数详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 输出一个两行字符的变量
Feb 05 Python
Python不规范的日期字符串处理类
Jun 10 Python
跟老齐学Python之使用Python操作数据库(1)
Nov 25 Python
用Python制作简单的朴素基数估计器的教程
Apr 01 Python
在Django的视图中使用数据库查询的方法
Jul 16 Python
Python字符串匹配算法KMP实例
Jul 18 Python
Python实现统计文本文件字数的方法
May 05 Python
Python利用multiprocessing实现最简单的分布式作业调度系统实例
Nov 14 Python
基于腾讯云服务器部署微信小程序后台服务(Python+Django)
May 08 Python
Python 私有化操作实例分析
Nov 21 Python
python图形开发GUI库wxpython使用方法详解
Feb 14 Python
python人工智能human learn绘图可创建机器学习模型
Nov 23 Python
基于pandas将类别属性转化为数值属性的方法
Jul 25 #Python
Django实现支付宝付款和微信支付的示例代码
Jul 25 #Python
Python走楼梯问题解决方法示例
Jul 25 #Python
python 批量修改/替换数据的实例
Jul 25 #Python
django 实现电子支付功能的示例代码
Jul 25 #Python
python 去除txt文本中的空格、数字、特定字母等方法
Jul 24 #Python
Python将文本去空格并保存到txt文件中的实例
Jul 24 #Python
You might like
ExtJS与PHP、MySQL实现存储的方法
2010/04/02 PHP
PHP保存带BOM文件的方法
2015/02/12 PHP
phpinfo() 中 Local Value(局部变量)Master Value(主变量) 的区别
2016/02/03 PHP
详解PHP的Yii框架中自带的前端资源包的使用
2016/03/31 PHP
javascript 仿QQ滑动菜单效果代码
2010/09/03 Javascript
JavaScript中string转换成number介绍
2014/12/31 Javascript
解析Node.js基于模块和包的代码部署方式
2016/02/16 Javascript
AngularJS中isolate scope的用法分析
2016/11/22 Javascript
jQuery导航条固定定位效果实例代码
2017/05/26 jQuery
vue2 mint-ui loadmore实现下拉刷新,上拉更多功能
2018/03/21 Javascript
微信小程序使用form表单获取输入框数据的实例代码
2018/05/17 Javascript
LayUi中接口传数据成功,表格不显示数据的解决方法
2018/08/19 Javascript
详解vue中使用微信jssdk
2019/04/19 Javascript
vue项目中监听手机物理返回键的实现
2020/01/18 Javascript
ng-alain的sf如何自定义部件的流程
2020/06/12 Javascript
vue实现图书管理系统
2020/12/29 Vue.js
简单的Python抓taobao图片爬虫
2014/10/26 Python
python根据给定文件返回文件名和扩展名的方法
2015/03/27 Python
Python装饰器使用实例:验证参数合法性
2015/06/24 Python
python套接字流重定向实例汇总
2016/03/03 Python
Python使用Paramiko模块编写脚本进行远程服务器操作
2016/05/05 Python
用 Python 爬了爬自己的微信朋友(实例讲解)
2017/08/25 Python
python实现梯度下降法
2020/03/24 Python
Python Request类源码实现方法及原理解析
2020/08/17 Python
用python写PDF转换器的实现
2020/10/29 Python
纯css3实现效果超级炫的checkbox复选框和radio单选框
2014/09/01 HTML / CSS
基于HTML5 Canvas 实现弹出框效果
2017/06/05 HTML / CSS
香港莎莎官网Sasa.com:亚洲著名国际化妆品商城
2019/11/10 全球购物
如何估计一张表的大小(假设该表中有1万条数据)
2016/03/27 面试题
报告会主持词
2014/04/02 职场文书
怎样拟定创业计划书
2014/05/01 职场文书
高校自主招生教师推荐信
2015/03/23 职场文书
2016年安全生产先进个人事迹材料
2016/02/29 职场文书
用python批量解压带密码的压缩包
2021/05/31 Python
SQL Server表分区删除详情
2021/10/16 SQL Server
Python软件包安装的三种常见方法
2022/07/07 Python