pandas合并多个DataFrame

pandas合并多个DataFrame

合并两个DataFrame

合并两个DataFrame用pd.merge

import pandas as pd
import numpy as np


df1 = pd.DataFrame(np.array([
    ['a', 1, 2],
    ['b', 3, 4],
    ['c', 5, 6]]),
    columns=['name', 'num11', 'num12'])
df2 = pd.DataFrame(np.array([
    ['a', 7, 8],
    ['b', 9, 10],
    ['c', 11, 12]]),
    columns=['name', 'num21', 'num22'])

df_result = pd.merge(df1, df2, on='name')
print(df_result)

合并多个DataFrame

import pandas as pd
import numpy as np
from functools import reduce


df1 = pd.DataFrame(np.array([
    ['a', 1, 2],
    ['b', 3, 4],
    ['c', 5, 6]]),
    columns=['name', 'num11', 'num12'])
df2 = pd.DataFrame(np.array([
    ['a', 7, 8],
    ['b', 9, 10],
    ['c', 11, 12]]),
    columns=['name', 'num21', 'num22'])
df3 = pd.DataFrame(np.array([
    ['a', 13, 14],
    ['b', 15, 16],
    ['c', 17, 18]]),
    columns=['name', 'num31', 'num32'])

dfs = [df1, df2, df3]
df_result = reduce(lambda left, right: pd.merge(left, right, on='name'), dfs)
print(df_result)

PS:

  1. 合并时,pd.merge函数里的参数how、on必须是一致的
  2. reduce函数解释
    在这里插入图片描述
    意思是对一个可迭代的序列(iterable),连续使用function。x是function累计值(也就是计算后的结果),y是来自iterable的更新值,如果存在可选初始值设定项,则该初始值设定项将放置在计算中iterable的项之前,并在iterable为空时用作默认值。如果未给出初始值设定项,并且iterable只包含一项,则返回第一项。
    概括来说,以我们上面的例子,对dfs中的元素连续使用pd.merge函数
  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值