对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编写的最短路径算法
Mar 25 Python
利用Fn.py库在Python中进行函数式编程
Apr 22 Python
Python的Flask框架中配置多个子域名的方法讲解
Jun 07 Python
Django实战之用户认证(用户登录与注销)
Jul 16 Python
python实现最小二乘法线性拟合
Jul 19 Python
Python及Pycharm安装方法图文教程
Aug 05 Python
Python 合并多个TXT文件并统计词频的实现
Aug 23 Python
django实现HttpResponse返回json数据为中文
Mar 27 Python
Python HTMLTestRunner可视化报告实现过程解析
Apr 10 Python
Python decimal模块使用方法详解
Jun 08 Python
使用keras时input_shape的维度表示问题说明
Jun 29 Python
使用npy转image图像并保存的实例
Jul 01 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
使用PHP批量生成随机用户名
2008/07/10 PHP
关于PHP的相似度计算函数:levenshtein的使用介绍
2013/04/15 PHP
[原创]php获取数组中键值最大数组项的索引值
2015/03/17 PHP
php调用KyotoTycoon简单实例
2015/04/02 PHP
javascript firefox兼容ie的dom方法脚本
2008/05/18 Javascript
JS中toFixed()方法引起的问题如何解决
2012/11/20 Javascript
jquery的选择器的使用技巧之如何选择input框
2013/09/22 Javascript
使用JavaScript进行进制转换将字符串转换为十进制
2014/09/21 Javascript
javascript 闭包详解
2015/02/15 Javascript
jQuery插件MixItUp实现动画过滤和排序
2015/04/12 Javascript
jQuery通过ajax快速批量提交表单数据
2016/10/25 Javascript
JS实现数组去重复值的方法示例
2017/02/18 Javascript
使用Vue制作图片轮播组件思路详解
2018/03/21 Javascript
vue如何安装使用Quill富文本编辑器
2018/09/21 Javascript
ES6 新增的创建数组的方法(小结)
2019/08/01 Javascript
Python获取网页上图片下载地址的方法
2015/03/11 Python
Python中使用urllib2模块编写爬虫的简单上手示例
2016/01/20 Python
Python切片操作深入详解
2018/07/27 Python
使用python将请求的requests headers参数格式化方法
2019/01/02 Python
python+pyqt5编写md5生成器
2019/03/18 Python
Python实现Linux监控的方法
2019/05/16 Python
python 实现将多条曲线画在一幅图上的方法
2019/07/07 Python
Python数据类型之列表和元组的方法实例详解
2019/07/08 Python
Iconfont(矢量图标)+iconmoon(图标svg互转)配合javascript实现社交分享系统
2020/04/21 Python
python实现批量转换图片为黑白
2020/06/16 Python
Python matplotlib读取excel数据并用for循环画多个子图subplot操作
2020/07/14 Python
AmazeUI 导航条的实现示例
2020/08/14 HTML / CSS
苹果Mac升级:MacSales.com
2017/11/20 全球购物
联想新西兰官方网站:Lenovo New Zealand
2018/10/30 全球购物
药学专业个人的自我评价
2013/12/31 职场文书
2014红色之旅心得体会
2014/10/07 职场文书
2014年高一班主任工作总结
2014/12/05 职场文书
银行求职自荐信范文
2015/03/04 职场文书
如何让2019年上半年的工作总结更出色!
2019/07/01 职场文书
python实现Thrift服务端的方法
2021/04/20 Python
CSS中float高度塌陷问题的四种解决方案
2022/04/18 HTML / CSS