今天就跟大家聊聊有关怎么在pandas中使用map函数,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
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中使用map函数有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。