对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 相关文章推荐
Django框架中的对象列表视图使用示例
Jul 21 Python
python中urlparse模块介绍与使用示例
Nov 19 Python
使用Python设计一个代码统计工具
Apr 04 Python
python增加矩阵维度的实例讲解
Apr 04 Python
python实现AES和RSA加解密的方法
Mar 28 Python
Python数据类型之Dict字典实例详解
May 07 Python
Python当中的array数组对象实例详解
Jun 12 Python
Python 3.6 中使用pdfminer解析pdf文件的实现
Sep 25 Python
PYTHON实现SIGN签名的过程解析
Oct 28 Python
基于Python组装jmx并调用JMeter实现压力测试
Nov 03 Python
Python使用struct处理二进制(pack和unpack用法)
Nov 12 Python
python使用shell脚本创建kafka连接器
Apr 29 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
获取用户Ip地址通用方法与常见安全隐患(HTTP_X_FORWARDED_FOR)
2013/06/01 PHP
ThinkPHP中I(),U(),$this-&gt;post()等函数用法
2014/11/22 PHP
利用php做服务器和web前端的界面进行交互
2016/10/31 PHP
php查看一个变量的占用内存的实例代码
2020/03/29 PHP
JQuery 图片延迟加载并等比缩放插件
2009/11/09 Javascript
js自动下载文件到本地的实现代码
2013/04/28 Javascript
基于jquery实现的图片在各种分辨率下未知的容器内上下左右居中
2014/05/11 Javascript
使用js dom和jquery分别实现简单增删改
2014/09/11 Javascript
js css 实现遮罩层覆盖其他页面元素附图
2014/09/22 Javascript
AngularJS基础教程之简单介绍
2015/09/27 Javascript
基于JS实现移动端访问PC端页面时跳转到对应的移动端网页
2020/12/24 Javascript
Bootstrap carousel轮转图的使用实例详解
2016/05/17 Javascript
Bootstrap CSS布局之代码
2016/12/17 Javascript
vue图片加载与显示默认图片实例代码
2017/03/16 Javascript
vue 实现 ios 原生picker 效果及实现思路解析
2017/12/06 Javascript
详解微信小程序的不同函数调用的几种方法
2019/05/08 Javascript
微信小程序图片左右摆动效果详解
2019/07/13 Javascript
javascript实现的图片预览和上传功能示例【兼容IE 9】
2020/05/01 Javascript
Python内置函数dir详解
2015/04/14 Python
python中常用检测字符串相关函数汇总
2015/04/15 Python
Python线性回归实战分析
2018/02/01 Python
python+ffmpeg视频并发直播压力测试
2018/03/06 Python
python实现嵌套列表平铺的两种方法
2018/11/08 Python
Python中pymysql 模块的使用详解
2019/08/12 Python
Python多个装饰器的调用顺序实例解析
2020/05/22 Python
eDreams意大利:南欧领先的在线旅行社
2018/11/23 全球购物
优秀中专生推荐信
2013/11/17 职场文书
搞笑创意广告语
2014/03/17 职场文书
竞选团支书演讲稿
2014/04/28 职场文书
产品质量保证书
2014/04/29 职场文书
学习教师敬业奉献模范事迹材料思想汇报
2014/09/19 职场文书
工作态度不端正检讨书
2014/10/04 职场文书
市场营销计划书
2015/01/17 职场文书
铁人观后感
2015/06/16 职场文书
有关朝花夕拾的读书笔记
2015/06/29 职场文书
php 解析非标准json、非规范json
2021/04/01 PHP