码迷,mamicode.com
首页 > 移动开发 > 详细

pandas数组(pandas Series)-(5)apply方法自定义函数

时间:2018-06-27 00:18:24      阅读:365      评论:0      收藏:0      [点我收藏+]

标签:方法   bar   print   col   int   fir   nic   lan   pre   

有时候需要对 pandas Series 里的值进行一些操作,但是没有内置函数,这时候可以自己写一个函数,使用 pandas Series 的 apply 方法,可以对里面的每个值都调用这个函数,然后返回一个新的 Series 

import pandas as pd

s = pd.Series([1, 2, 3, 4, 5])
def add_one(x):
    return x + 1

print s.apply(add_one)

# 结果:
0    2
1    3
2    4
3    5
4    6
dtype: int64

 

一个栗子:

names = pd.Series([
    Andre Agassi,
    Barry Bonds,
    Christopher Columbus,
    Daniel Defoe,
    Emilio Estevez,
    Fred Flintstone,
    Greta Garbo,
    Humbert Humbert,
    Ivan Ilych,
    James Joyce,
    Keira Knightley,
    Lois Lane,
    Mike Myers,
    Nick Nolte,
    Ozzy Osbourne,
    Pablo Picasso,
    Quirinus Quirrell,
    Rachael Ray,
    Susan Sarandon,
    Tina Turner,
    Ugueth Urbina,
    Vince Vaughn,
    Woodrow Wilson,
    Yoji Yamada,
    Zinedine Zidane
])

把以上Series里的名字从"Firstname Lastname" 转换成 "Lastname, FirstName"

可以使用apply方法:

def reverse_name(name):
    name_array = name.split( )
    
    new_name = {}, {}.format(name_array[1],name_array[0])
    return new_name

print(names.apply(reverse_name))
0             Agassi, Andre
1              Bonds, Barry
2     Columbus, Christopher
3             Defoe, Daniel
4           Estevez, Emilio
5          Flintstone, Fred
6              Garbo, Greta
7          Humbert, Humbert
8               Ilych, Ivan
9              Joyce, James
10         Knightley, Keira
11               Lane, Lois
12              Myers, Mike
13              Nolte, Nick
14           Osbourne, Ozzy
15           Picasso, Pablo
16       Quirrell, Quirinus
17             Ray, Rachael
18          Sarandon, Susan
19             Turner, Tina
20           Urbina, Ugueth
21            Vaughn, Vince
22          Wilson, Woodrow
23             Yamada, Yoji
24         Zidane, Zinedine
dtype: object

 

pandas数组(pandas Series)-(5)apply方法自定义函数

标签:方法   bar   print   col   int   fir   nic   lan   pre   

原文地址:https://www.cnblogs.com/liulangmao/p/9231804.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!