python 量化数据处理比较常用函数

0
回复
8651
查看
[复制链接]

16

主题

21

回帖

146

积分

注册会员

积分
146
来源: 2019-7-24 06:52:10 显示全部楼层 |阅读模式
1.  lambda函数,这个有点类似于C中的宏定义函数。逻辑复杂的函数定义建议不要使用lambda函数声明。
add = lambda x,y : x+y
#结果为3
print(add(1,2))
2. map()函数,根据提供的函数对指定的序列做映射,将函数作用在指定序列中的每一个参数上。
map(function, interable, .....) #funciton 要使用的函数名,iterable指定的序列
def add(x,y) :
  return x+y
#函数也可以使用lambda定义
map(add,[1,2,3],[4,5,6])
#结果[5,7,9]
3. filter()函数,根据提供的函数,对指定的序列做过滤操作(用在金融数据比如筛选市盈率,业绩等等很有用)
filter(function, iterable)
def is_even(n):
  return n % 2 == 0
#结果[2,4],python 3 会返回一个filter object
result = filter(is_even, [1,2,3,4,5])
4. reduce()函数,累计计算函数,根据提供的函数(需要有两个参数接口)对数组进行累计计算
reduce(function,iterable[,inializer])
dfe add(x,y) :
  return x+y
#结果为1+2+3+4 = 10
reduce(add,[1,2,3,4])
5. zip()函数,将可迭代对象作为参数,将对象中对应的元素打包成一个个元组,然后返回有这些元组组成的列表。(封装股票日线数据比较有用)

zip([iterable,...])
a=[1,2,3]
b=[4,5,6]
c=[4,5,6,7]
#结果[(1,4),(2,5),(3,6)]
result=zip(a,b)
#结果仍然为[(1,4),(2,5),(3,6)]
#数量不一致时要向数量少保持一致
result =zip(a,c)
6. partial()函数,有点像对函数中的参数做一个默认值绑定
def add(x,y):
  return x+y
#结果为7
print(add(3,4))
#做一个partial形成一个新函数
newadd = partial(add,20)
#结果为23
print(newadd(3))
#相当于把前面声明的add函数变为add(x,y = 20)

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 免费注册
关注微信