Python数据分析

Python数据分析 知识量:13 - 56 - 232

7.9 高级数据操作><

匿名函数- 7.9.1 -

匿名函数就是没有名字的函数。Python中使用lambda函数来实现匿名函数。

lambda函数通常的形式为:lambda argument_list: expression。该函数的输入是传入到参数列表argument_list的值;输出是根据表达式expression计算得到的值。

add=lambda x,y:x+y
print(add(1,2))

运行结果为:

3

apply()函数- 7.9.2 -

apply()函数用于对DataFrame对象中的某几行或列中的元素执行相同的操作。apply()函数需要与匿名函数配合使用。

import pandas as pd
df=pd.read_excel(r"D:\PythonTestFile\exam_new.xlsx")
print(df,'\n')
print(df.Chinese.apply(lambda x:x+10),'\n')  # 将Chinese列数据+10
print(df[['Chinese','English']].apply(lambda x:x+10))  # 将Chinese列和English列的数据+10

运行结果为:

       Name     Sex  Chinese  English  Math
0      Noah    male       90       50    66
1      Emma  female       56       56    55
2       Bob    male       99       84    89
3    Olivia  female       86       87    44
4      Jeff    male       48       87    65
5      Liam    male       55       88    69
6    Sophia  female       90       66    96
7  Isabella  female       66       85    55 

0    100
1     66
2    109
3     96
4     58
5     65
6    100
7     76
Name: Chinese, dtype: int64 

   Chinese  English
0      100       60
1       66       66
2      109       94
3       96       97
4       58       97
5       65       98
6      100       76
7       76       95

applymap()函数- 7.9.3 -

applymap()函数用于对DataFrame对象中的所有元素执行相同的操作。applymap()函数也需要与匿名函数配合使用。

import pandas as pd
df=pd.read_excel(r"D:\PythonTestFile\exam_new.xlsx",usecols=[2,3,4])
print(df,'\n')
print(df.applymap(lambda x:x+10))  # 将所有数据+10

运行结果为:

   Chinese  English  Math
0       90       50    66
1       56       56    55
2       99       84    89
3       86       87    44
4       48       87    65
5       55       88    69
6       90       66    96
7       66       85    55 

   Chinese  English  Math
0      100       60    76
1       66       66    65
2      109       94    99
3       96       97    54
4       58       97    75
5       65       98    79
6      100       76   106
7       76       95    65