首页 > 编程笔记 > Python笔记 阅读:3

Python Pandas合并数据的3种方法(附带实例)

Pandas 是基于 NumPy 构建的一个强大的 Python 数据分析库,提供了灵活且高效的数据结构,用于处理结构化数据。

在 Pandas 中,可以使用不同的方法合并数据,包括 merge()、concat() 和 join() 等。

1) merge() 方法用于按照一列或多列的值将两个 DataFrame 合并。默认情况下,merge() 方法会将共同列的列名作为键进行合并。
merged_df = pd.merge(df1, df2, on='key_column')

2) concat() 方法用于沿着指定轴将多个 DataFrame 连接在一起。它可以沿着行或列方向进行连接。
concatenated_df = pd.concat([df1, df2], axis=0)  # 沿着行方向连接

3) join() 方法用于将两个 DataFrame 按照它们的索引进行合并。这个方法适用于索引之间的合并。
joined_df = df1.join(df2, how='inner')
how 参数指定了合并的方式,包括inner(内连接)、outer(外连接)、left(左连接)和 right(右连接)。

以下是一个 Python 实例,演示以上所有方法的用法:
import pandas as pd

# 创建两个DataFrame
df1 = pd.DataFrame({
    'key_column': ['A', 'B', 'C'],
    'value1': [1, 2, 3]
})

df2 = pd.DataFrame({
    'key_column': ['A', 'B', 'D'],
    'value2': [4, 5, 6]
})

# 使用merge()方法合并数据
merged_df = pd.merge(df1, df2, on='key_column')
print("使用merge()方法合并数据:")
print(merged_df)

# 使用concat()方法合并数据
concatenated_df = pd.concat([df1, df2], axis=0)
print("\n使用concat()方法合并数据:")
print(concatenated_df)

# 使用join()方法合并数据
joined_df = df1.set_index('key_column').join(df2.set_index('key_column'), how='inner')
print("\n使用join()方法合并数据:")
print(joined_df)
运行结果为:
使用merge()方法合并数据:
  key_column  value1  value2
0          A       1       4
1          B       2       5

使用concat()方法合并数据:
  key_column  value1  value2
0          A       1     NaN
1          B       2     5.0
2          C       3     NaN
3          A       4     NaN
4          B       5     NaN
5          D       6     NaN

使用join()方法合并数据:
  key_column  value1  value2
0          A       1       4
1          B       2       5

相关文章