首页 百问百答 帖子详情
pandas合并多个dataframe
收藏
快速回复
百问百答 问答学习资料 310 0
pandas合并多个dataframe
收藏
快速回复
百问百答 问答学习资料 310 0

在日常的数据处理中,我们可能需要使用到pandas合并多个DataFrame的功能。首先介绍如何合并两个DataFrame,我们可以用用pd.merge。然后,对于多个DataFrame我们可以使用迭代的方式,两个两个的合并。

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)

import pandas as pd
import numpy as np
from functools import reduce
# 合并多个dataframe

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
收藏
回复
在@后输入用户全名并按空格结束,可艾特全站任一用户