对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: line=f.readlines()消除line中\n的方法
Mar 19 Python
Python爬虫包BeautifulSoup简介与安装(一)
Jun 17 Python
Tornado Web Server框架编写简易Python服务器
Jul 28 Python
django小技巧之html模板中调用对象属性或对象的方法
Nov 30 Python
Python基于Tkinter模块实现的弹球小游戏
Dec 27 Python
Pythony运维入门之Socket网络编程详解
Apr 15 Python
让Python脚本暂停执行的几种方法(小结)
Jul 11 Python
python3模拟实现xshell远程执行liunx命令的方法
Jul 12 Python
python/Matplotlib绘制复变函数图像教程
Nov 21 Python
matlab中二维插值函数interp2的使用详解
Apr 22 Python
python爬虫爬取图片的简单代码
Jan 18 Python
详解Python+OpenCV绘制灰度直方图
Mar 22 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安全编程之加密功能
2006/10/09 PHP
PHP检查网站是否宕机的方法示例
2017/07/24 PHP
PHP实现微信支付(jsapi支付)流程步骤详解
2018/03/15 PHP
php使用filter_var函数判断邮箱,url,ip格式示例
2019/07/06 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
2020/03/23 PHP
jQuery中实现动画效果的基本操作介绍
2013/04/16 Javascript
JavaScript设计模式之策略模式实例
2014/10/10 Javascript
NodeJS中Buffer模块详解
2015/01/07 NodeJs
js限制input标签中只能输入中文
2015/06/26 Javascript
js实现动态加载脚本的方法实例汇总
2015/11/02 Javascript
JavaScript设计模式初探
2016/01/07 Javascript
jQuery实现的表格展开伸缩效果实例
2016/09/07 Javascript
AngularJS 与百度地图的结合实例
2016/10/20 Javascript
weUI应用之JS常用信息提示弹层的封装
2016/11/21 Javascript
jquery实现图片列表鼠标移入微动
2016/12/01 Javascript
Angularjs中三种数据的绑定策略(“@”,“=”,“&amp;”)
2016/12/23 Javascript
详解AngularJS验证、过滤器、指令
2017/01/04 Javascript
实例讲解JavaScript预编译流程
2019/01/24 Javascript
利用angular自动编译andriod APK的绕坑经历分享
2019/03/08 Javascript
利用不到200行代码写一款属于你自己的js类库
2019/07/08 Javascript
微信小程序点击顶部导航栏切换样式代码实例
2019/11/12 Javascript
jQuery 实现DOM元素拖拽交换位置的实例代码
2020/07/14 jQuery
[33:42]LGD vs OG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
在Django中创建第一个静态视图
2015/07/15 Python
django创建自定义模板处理器的实例详解
2017/08/14 Python
Python自定义装饰器原理与用法实例分析
2018/07/16 Python
python如何以表格形式打印输出的方法示例
2019/06/21 Python
Numpy之reshape()使用详解
2019/12/26 Python
python数据类型强制转换实例详解
2020/06/22 Python
python实现图书馆抢座(自动预约)功能的示例代码
2020/09/29 Python
Html5新标签解释及用法
2012/02/17 HTML / CSS
Jdbc数据访问技术面试题
2012/03/30 面试题
材料成型专业个人求职信范文
2013/09/25 职场文书
如何写一份好的英文求职信
2014/03/19 职场文书
小学生期末评语
2014/04/21 职场文书
Vue组件更新数据v-model不生效的解决
2022/04/02 Vue.js