📜  在 pandas 中组合两个数据框 - Python (1)

📅  最后修改于: 2023-12-03 15:37:25.622000             🧑  作者: Mango

在 Pandas 中组合两个数据框

当你需要将两个 Pandas 数据框组合在一起时,可以使用 Pandas 提供的一些内置函数,比如 concat()merge()join() 等。

使用 concat() 组合两个数据框

concat() 可以按行或按列将两个或多个数据框组合在一起。

按行组合
import pandas as pd

# 创建两个数据框
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': ['a', 'b', 'c']})
df2 = pd.DataFrame({'A': [4, 5, 6], 'B': ['d', 'e', 'f']})

# 按行组合两个数据框
df_concat = pd.concat([df1, df2], axis=0)

print(df_concat)

输出:

   A  B
0  1  a
1  2  b
2  3  c
0  4  d
1  5  e
2  6  f
按列组合
import pandas as pd

# 创建两个数据框
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': ['a', 'b', 'c']})
df2 = pd.DataFrame({'C': [4, 5, 6], 'D': ['d', 'e', 'f']})

# 按列组合两个数据框
df_concat = pd.concat([df1, df2], axis=1)

print(df_concat)

输出:

   A  B  C  D
0  1  a  4  d
1  2  b  5  e
2  3  c  6  f
使用 merge() 组合两个数据框

merge() 主要用于按列合并两个数据框。

import pandas as pd

# 创建两个数据框
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': ['a', 'b', 'c']})
df2 = pd.DataFrame({'A': [2, 3, 4], 'C': ['d', 'e', 'f']})

# 按 A 列合并两个数据框
df_merge = pd.merge(df1, df2, on='A')

print(df_merge)

输出:

   A  B  C
0  2  b  d
1  3  c  e
使用 join() 组合两个数据框

join() 主要用于将两个数据框按照索引组合。

import pandas as pd

# 创建两个数据框
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': ['a', 'b', 'c']}, index=['a', 'b', 'c'])
df2 = pd.DataFrame({'C': [4, 5, 6], 'D': ['d', 'e', 'f']}, index=['b', 'c', 'd'])

# 按索引组合两个数据框
df_join = df1.join(df2)

print(df_join)

输出:

   A  B    C    D
a  1  a  NaN  NaN
b  2  b  4.0    d
c  3  c  5.0    e