pandas 中Series的map函数

来源:互联网 发布:java如何定位内存泄露 编辑:程序博客网 时间:2024/06/05 07:23

Series的map方法可以接受一个函数或含有映射关系的字典型对象 
使用map是一种实现元素级转换以及其他数据清理工作的便捷方式。 
(DataFrame中对应的是applymap()函数,当然DataFrame还有apply()函数)

1.字典映射

import pandas as pdfrom pandas import Series, DataFramedata = 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 pdIn [580]: from pandas import Series, DataFrameIn [581]: index = pd.date_range('2017-08-15', periods=10)In [582]: ser = Series(list(range(10)), index=index)In [583]: serOut[583]: 2017-08-15    02017-08-16    12017-08-17    22017-08-18    32017-08-19    42017-08-20    52017-08-21    62017-08-22    72017-08-23    82017-08-24    9Freq: D, dtype: int64In [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    102017-08-16    112017-08-17    122017-08-18    132017-08-19    142017-08-20    152017-08-21    162017-08-22    172017-08-23    182017-08-24    19Freq: D, dtype: int64In [588]: def f(x):     ...:     if x < 5:     ...:         return True     ...:     else:     ...:         return False     ...:     In [589]: ser.map(f)Out[589]: 2017-08-15     True2017-08-16     True2017-08-17     True2017-08-18     True2017-08-19     True2017-08-20    False2017-08-21    False2017-08-22    False2017-08-23    False2017-08-24    FalseFreq: D, dtype: bool
原创粉丝点击