总结:
1.apply()是一种让函数作用于DataFrame中行或列的操作。
2.applymap()是一种让函数作用于DataFrame每一个元素的操作。
3.map()是一种让函数作用于Series每一个元素的操作。
apply()、map()和applymap()的区别就在于应用场景的不同
https://blog.csdn.net/GR346305172/article/details/100174898
1.apply()
apply()将一个函数作用于DataFrame中的行或列,如下所示
import pandas as pd
import numpy as np
frame = pd.DataFrame(np.random.randn(4, 3),columns=list('bde'),index=['Utah', 'Ohio', 'Texas', 'Oregon'])
frame
b d e
Utah -0.774163 0.224804 -0.715506
Ohio -0.678502 -1.864374 -0.652795
Texas 1.282988 -0.801617 -0.339106
Oregon -1.077619 0.415863 0.454939
f = lambda x: x.max() - x.min()
frame.apply(f)
b 2.360607
d 2.280237
e 1.170445
dtype: float64
2.applymap()
applymap()则作用于DataFrame中的每一个元素,如下所示
import pandas as pd
import numpy as np
frame = pd.DataFrame(np.random.randn(4, 3),columns=list('bde'),index=['Utah', 'Ohio', 'Texas', 'Oregon'])
import pandas as pd
import numpy as np
format = lambda x: '%.2f' % x
frame.applymap(format)
b d e
Utah -0.10 -0.97 0.08
Ohio -1.33 1.58 1.43
Texas -0.62 0.29 -0.54
Oregon -1.80 -1.08 -1.13
3.map()
map()是一个Series的函数,DataFrame结构中无法使用map()。map()则是将函数作用于Series中的每一个元素,如下所示
import pandas as pd
import numpy as np
frame = pd.DataFrame(np.random.randn(4, 3),columns=list('bde'),index=['Utah', 'Ohio', 'Texas', 'Oregon'])
format = lambda x: '%.2f' % x
frame['e'].map(format)
Utah 0.92
Ohio -0.74
Texas 1.29
Oregon -0.45
Name: e, dtype: object