对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计算圆周率pi的方法
Jul 11 Python
详解duck typing鸭子类型程序设计与Python的实现示例
Jun 03 Python
python中set常用操作汇总
Jun 30 Python
Python新手们容易犯的几个错误总结
Apr 01 Python
python使用Pandas库提升项目的运行速度过程详解
Jul 12 Python
关于python3中setup.py小概念解析
Aug 22 Python
Python 用turtle实现用正方形画圆的例子
Nov 21 Python
Python处理PDF与CDF实例
Feb 26 Python
Python爬虫JSON及JSONPath运行原理详解
Jun 04 Python
Python爬虫实例——爬取美团美食数据
Jul 15 Python
python打开音乐文件的实例方法
Jul 21 Python
pytorch显存一直变大的解决方案
Apr 08 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
laravel-admin 实现给grid的列添加行数序号的方法
2019/10/08 PHP
在网页里看flash的trace数据的js类
2009/01/10 Javascript
禁止js文件缓存的代码
2010/04/09 Javascript
js 幻灯片的实现
2011/12/06 Javascript
jquery miniui 教程 表格控件 合并单元格应用
2012/11/25 Javascript
如何将php数组或者对象传递给javascript
2014/03/20 Javascript
jQuery实现类似标签风格的导航菜单效果代码
2015/08/25 Javascript
初识angular框架后的所思所想
2016/02/19 Javascript
关于Vue.js一些问题和思考学习笔记(1)
2016/12/02 Javascript
JS无缝滚动效果实现方法分析
2016/12/21 Javascript
用JavaScript实现让浏览器停止载入页面的方法
2017/01/19 Javascript
Javascript中将变量转换为字符串的三种方法
2017/09/19 Javascript
vue组件watch属性实例讲解
2017/11/07 Javascript
如何编写一个完整的Angular4 FormText 组件
2017/11/18 Javascript
ECharts地图绘制和钻取简易接口详解
2019/07/12 Javascript
node运行js获得输出的三种方式示例详解
2020/07/02 Javascript
Vue实现穿梭框效果
2020/09/30 Javascript
js中复选框的取值及赋值示例详解
2020/10/18 Javascript
解决ant-design-vue中menu菜单无法默认展开的问题
2020/10/31 Javascript
微信小程序canvas实现签名功能
2021/01/19 Javascript
python使用PIL模块获取图片像素点的方法
2019/01/08 Python
解决python flask中config配置管理的问题
2019/07/26 Python
Python适配器模式代码实现解析
2019/08/02 Python
对Django的restful用法详解(自带的增删改查)
2019/08/28 Python
Python元组 tuple的概念与基本操作详解【定义、创建、访问、计数、推导式等】
2019/10/30 Python
opencv中图像叠加/图像融合/按位操作的实现
2020/04/01 Python
英国广泛的照明产品网站:Lights4living
2018/01/28 全球购物
给老师的检讨书
2014/02/11 职场文书
入党积极分子学习两会心得体会范文
2014/03/17 职场文书
销售队伍口号
2014/06/11 职场文书
秦始皇兵马俑导游词
2015/02/02 职场文书
二审答辩状格式
2015/05/22 职场文书
2015中学政教处工作总结
2015/07/22 职场文书
2015年教务处干事工作总结
2015/07/22 职场文书
nginx proxy_cache 缓存配置详解
2021/03/31 Servers
用React Native制作一个简单的游戏引擎
2021/05/27 Javascript