python数据分析的四大高级函数

匿名函数

  • 不需要使用def来定义函数
  • 没有具体的名称
  • 使用lambda来定义函数
  • 语法结构:lambda par1,par2,…parn:expression

实例

#冒号前面是参数,冒号后面是表达式,也是所要返回的结果
g = lambda x:x**2
g(2)

在这里插入图片描述

map函数

map()方法会将一个函数映射到序列的每一个元素上,生成新序列,包含所有函数返回值。 笼统的讲,序列里的每一个元素都被当做x变量,放到一个函数f(x)里,其结果是f(x1)、f(x2)、f(x3)…组成的新序列

  • map函数返回的是迭代器
  • 调用方法:
    map(function,list_input)
    function代表函数
    list_input 代表输入序列

实例

#定义一个列表
items = [1,2,3,4,5,6]
def f(x):
	return x**2
map(f,items)
list(map(f,items))

在这里插入图片描述

reduce函数

定义:
在迭代序列的过程中,先把前两个元素(只能两个)传给函数,函数加工后,然后把得到的结果和第三个元素作为两个参数传给函数。依次类推,就像求1-100累加和

  • reduce函数不是内置函数,所以要导入第三方库
  • reduce函数不可直接使用
  • reduce(function,iterable)
    function:代表函数
    iterable:序列

实例

from functools import reduce
def f(x,y):
	return x + y
items = [1,2,3,4,5,6,7,8,9,10]
result = reduce(f,items)
result
#求1-100累加和
items = range(1,101)
result = reduce(f,items)
result

在这里插入图片描述
在这里插入图片描述

filter函数

  • 用于过滤序列,过滤掉不符合条件的元素,返回有符合条件元素组成的序列
  • 将function依次作用于sequnce的每个item,即function(item),将返回值为True的item组成一个list/string/tuple(取决于sequnce的类型)
  • python3统一返回迭代器

实例

filter(lambda x:x%2==0,range(21))
list(filter(lambda x:x%2==0,range(21)))

在这里插入图片描述

items = [1,2,3,4,'3263','chen','-34.56',45.8]
list(filter(lambda x:1 if isinstance(x,int)else 0,items))

在这里插入图片描述
或者:

def int_num(x):
	if isinstance(x,int):
		return True
	else:
		return False
list(filter(int_num,items))

在这里插入图片描述

发布了26 篇原创文章 · 获赞 5 · 访问量 777

猜你喜欢

转载自blog.csdn.net/weixin_44730235/article/details/104924020