我是靠谱客的博主 壮观路灯,最近开发中收集的这篇文章主要介绍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()])

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

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函数的全部内容,希望文章能够帮你解决pandas 中Series的map函数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(75)

评论列表共有 0 条评论

立即
投稿
返回
顶部