Python Pandas合并数据的3种方法(附带实例)
Pandas 是基于 NumPy 构建的一个强大的 Python 数据分析库,提供了灵活且高效的数据结构,用于处理结构化数据。
在 Pandas 中,可以使用不同的方法合并数据,包括 merge()、concat() 和 join() 等。
1) merge() 方法用于按照一列或多列的值将两个 DataFrame 合并。默认情况下,merge() 方法会将共同列的列名作为键进行合并。
2) concat() 方法用于沿着指定轴将多个 DataFrame 连接在一起。它可以沿着行或列方向进行连接。
3) join() 方法用于将两个 DataFrame 按照它们的索引进行合并。这个方法适用于索引之间的合并。
以下是一个 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
- 使用 merge() 方法时,按照共同的列名 key_column 进行合并,结果中只包含两个 DataFrame 中都有的键值;
- 使用 concat() 方法时,沿着行方向连接两个 DataFrame,结果中包含两个 DataFrame 的所有行;
- 使用 join() 方法时,按照索引进行合并,结果中只包含两个 DataFrame 中索引相同的行。