如何将两个pandas dataframe 依照一列合并成一个

在数据处理和分析中,经常会遇到将两个或多个DataFrame合并为一个的情况。而在合并的过程中,需要依据特定列的值进行对齐。本文将介绍如何使用Pandas库中的merge函数来实现这一操作。
准备工作
首先,我们需要导入Pandas库,并创建两个示例DataFrame。
import pandas as pd
# 创建示例DataFrame1
data1 = {'key': ['A', 'B', 'C', 'D'],
'value1': [1, 2, 3, 4]}
df1 = pd.DataFrame(data1)
# 创建示例DataFrame2
data2 = {'key': ['A', 'B', 'E', 'F'],
'value2': ['apple', 'banana', 'orange', 'grape']}
df2 = pd.DataFrame(data2)
现在,我们已经创建了两个示例DataFrame:df1和df2。df1包含key和value1两列,df2包含key和value2两列,其中key列是我们将用来合并两个DataFrame的关键列。
使用merge函数合并DataFrame
Pandas库中的merge函数可以帮助我们根据共同列的值将两个DataFrame合并为一个。下面是merge函数的基本用法:
merged_df = pd.merge(df1, df2, on='key', how='inner')
上述代码中,pd.merge()函数的参数包括:
- 第一个参数是要合并的第一个DataFrame(
df1) - 第二个参数是要合并的第二个DataFrame(
df2) on='key'表示根据key列的值进行合并how='inner'表示采用内连接的方式合并两个DataFrame。也可以选择left、right或outer连接方式。
运行上述代码后,我们将获得一个新的DataFrame merged_df,其中包含了两个原始DataFrame根据key列合并后的结果。
示例
接下来,我们通过一个示例来演示如何使用merge函数将df1和df2合并为一个DataFrame。
import pandas as pd
# 创建示例DataFrame1
data1 = {'key': ['A', 'B', 'C', 'D'],
'value1': [1, 2, 3, 4]}
df1 = pd.DataFrame(data1)
# 创建示例DataFrame2
data2 = {'key': ['A', 'B', 'E', 'F'],
'value2': ['apple', 'banana', 'orange', 'grape']}
df2 = pd.DataFrame(data2)
# 使用merge函数合并DataFrame
merged_df = pd.merge(df1, df2, on='key', how='inner')
# 打印合并后的结果
print(merged_df)
运行上述代码,我们将看到合并后的结果:
key value1 value2
0 A 1 apple
1 B 2 banana
以上就是如何使用Pandas库中的merge函数将两个DataFrame按照指定列合并为一个的方法。
极客教程