对pandas中Series的map函数详解

 更新时间:2018年07月25日 09:25:39   作者:晓东邪  
今天小编就为大家分享一篇对pandas中Series的map函数详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

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实现加密的RAR文件解压的方法(密码已知)

    Python实现加密的RAR文件解压的方法(密码已知)

    这篇文章主要介绍了Python实现加密的RAR文件解压,本文分步骤给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • Django处理文件上传File Uploads的实例

    Django处理文件上传File Uploads的实例

    今天小编就为大家分享一篇Django处理文件上传File Uploads的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • python使用time、datetime返回工作日列表实例代码

    python使用time、datetime返回工作日列表实例代码

    这篇文章主要介绍了python使用time、datetime返回工作日列表,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • Python 读取WAV音频文件 画频谱的实例

    Python 读取WAV音频文件 画频谱的实例

    这篇文章主要介绍了Python 读取WAV音频文件 画频谱的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • Django解决CORS跨域问题的方案

    Django解决CORS跨域问题的方案

    Cross-Origin Resource Sharing(CORS) 跨域问题,在前后端后离项目,selenium , playweight 自动化测试代码中经常遇到,本文给大家介绍了Django解决CORS跨域问题的方案,文中有详细的代码讲解,需要的朋友可以参考下
    2024-03-03
  • Python操作JSON实现网络数据交换

    Python操作JSON实现网络数据交换

    这篇文章主要介绍了Python操作JSON实现网络数据交换,JSON的全称是 JavaScript Object Notation,是一种轻量级的数据交换格式,关于JSON的更多相关内容感兴趣的小伙伴可以参考一下
    2022-06-06
  • Python深度学习实战PyQt5安装与环境配置过程详解

    Python深度学习实战PyQt5安装与环境配置过程详解

    本系列面向 Python 小白,从零开始实战解说应用 QtDesigner 进行 PyQt5 的项目实战。什么叫从零开始?从软件安装、环境配置开始。不跳过一个细节,不漏掉一行代码,不省略一个例图
    2021-10-10
  • python爬虫beautifulsoup库使用操作教程全解(python爬虫基础入门)

    python爬虫beautifulsoup库使用操作教程全解(python爬虫基础入门)

    这篇文章主要介绍了python爬虫beautifulsoup库使用操作全解(python爬虫基础入门),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • python网络爬虫精解之XPath的使用说明

    python网络爬虫精解之XPath的使用说明

    XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointer 都构建于 XPath 表达之上
    2021-09-09
  • python使用socket向客户端发送数据的方法

    python使用socket向客户端发送数据的方法

    这篇文章主要介绍了python使用socket向客户端发送数据的方法,涉及Python使用socket实现数据通信的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04

最新评论