• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

对pandas中Series的map函数详解

python 搞代码 4年前 (2022-01-07) 30次浏览 已收录 0个评论

今天小编就为大家分享一篇对pandas中Series的map函数详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

Series的map方法可以接受一个函数或含有映射关系的字典型对象。

使用map是一种实现元素级转换以及其他数来源gaodaimacom搞#^代%!码&网据清理工作的便捷方式。

(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: false in [589]: ser.map(f) out[589]: 2017-08-15 2017-08-16 2017-08-17 2017-08-18 2017-08-19 2017-08-20 2017-08-21 2017-08-22 2017-08-23 2017-08-24 freq: d, dtype: bool

以上这篇对pandas中Series的map函数详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持gaodaima搞代码网

以上就是对pandas中Series的map函数详解的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:对pandas中Series的map函数详解

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址