概述
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,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,4,1,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函数详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程小技巧。
总结
以上是编程之家为你收集整理的对pandas中Series的map函数详解全部内容,希望文章能够帮你解决对pandas中Series的map函数详解所遇到的程序开发问题。
如果您也喜欢它,动动您的小指点个赞吧