Python reduce() 函数

reduce() 函数在 python 2 是内置函数, 从python 3 开始移到了 functools 模块。
reduce 有三个参数:

参数 含义
function 有两个参数的函数, 必需参数
sequence tuple ,list ,dictionary, string等可迭代物,必需参数
initial 初始值, 可选参数

reduce的工作过程是 :
在迭代sequence(tuple ,list ,dictionary, string等可迭代物)的过程中,首先把 前两个元素传给 函数参数,函数加工后,然后把得到的结果和第三个元素作为两个参数传给函数参数, 函数加工后得到的结果又和第四个元素作为两个参数传给函数参数,依次类推。 如果传入了 initial 值, 那么首先传的就不是 sequence 的第一个和第二个元素,而是 initial值和 第一个元素。经过这样的累计计算之后合并序列到一个单一返回值。

举例:
将多个表格横向拼接在一起

import pandas as pd
import numpy as np 
temp = []
for each in range(3):
    x = pd.DataFrame(np.random.randint(0,10,(4,2)),columns=['a','b'])
    x['on']=[100,200,300,400]
    x = x[['on','a','b']]
    temp.append(x)
for each in temp:
    display(each)

1111.png

from functools import reduce
result = reduce(lambda x,y: pd.merge(x,y,how='outer',on=['on']), temp)
result

2222.png

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权,转载请注明出处。
文章名称:《Python reduce() 函数》
文章来自:泰恩数据
文章链接:https://tyne.cc/483.html
本站资源仅供个人学习使用,请勿用于商业用途。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址