首页 炼丹房 帖子详情
pandas合并多个dataframe
收藏
快速回复
炼丹房 问答学习资料新手上路 456 1
pandas合并多个dataframe
收藏
快速回复
炼丹房 问答学习资料新手上路 456 1

合并两个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的合并,是一种使用循环的思想。

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)

 

0
收藏
回复
全部评论(1)
时间顺序
李长安
#2 回复于2022-08

大佬厉害

0
回复
在@后输入用户全名并按空格结束,可艾特全站任一用户