map函数python pandas_对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函数详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

本文标题: 对pandas中Series的map函数详解

本文地址: http://www.cppcns.com/jiaoben/python/235431.html

Original: https://blog.csdn.net/weixin_28990983/article/details/113403891
Author: zqk66~~~
Title: map函数python pandas_对pandas中Series的map函数详解

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/755771/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球