下面是详解Pandas的三大利器(map,apply,applymap)的完整攻略。
一. map函数
map函数是一种映射函数,它可以将一个Series里的每一个元素都应用一个函数。
1.语法
DataFrame['列名'] = DataFrame['列名'].map(函数名)
2.示例
例如,我们有以下一组数据:
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3, 4, 5], 'B': [10, 20, 30, 40, 50]})
我们可以使用map函数将其中的A列数据全部乘以2:
df['A'] = df['A'].map(lambda x: x*2)
# 或者使用以下方式
df['A'] = df['A'].apply(lambda x: x*2)
print(df)
输出结果为:
A B
0 2 10
1 4 20
2 6 30
3 8 40
4 10 50
二. apply函数
apply函数可以将一个函数应用于一组数据,可以是行或列。apply函数的参数可以自己指定。
1.语法
DataFrame['新列名'] = DataFrame.apply(函数名, axis=1/0)
2.示例
例如,我们有以下一组数据:
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3, 4, 5], 'B': [10, 20, 30, 40, 50], 'C': [100, 200, 300, 400, 500]})
我们可以使用apply函数将其中的ABC列数据全部相加:
df['D'] = df.apply(lambda x: x['A'] + x['B'] + x['C'], axis=1)
print(df)
输出结果为:
A B C D
0 1 10 100 111
1 2 20 200 222
2 3 30 300 333
3 4 40 400 444
4 5 50 500 555
三. applymap函数
applymap函数可以将一个函数应用到DataFrame中的每个元素上,支持任何一元素函数。
1.语法
DataFrame = DataFrame.applymap(函数名)
2.示例
例如,我们有以下一组数据:
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3, 4, 5], 'B': [10, 20, 30, 40, 50], 'C': [100, 200, 300, 400, 500]})
我们可以使用applymap函数将其中的ABC列数据全部取负:
df = df.applymap(lambda x: -x)
print(df)
输出结果为:
A B C
0 -1 -10 -100
1 -2 -20 -200
2 -3 -30 -300
3 -4 -40 -400
4 -5 -50 -500
以上就是Pandas中三大利器的详解。