📅  最后修改于: 2023-12-03 15:18:14.627000             🧑  作者: Mango
Pandas是Python的一个数据分析库,可以帮助我们清洗、整理、处理数据。在实际的业务场景中,我们经常需要合并两个数据框并去重,这时候就可以使用Pandas的merge()和drop_duplicates()函数来实现。
使用Pandas的merge()函数可以实现数据框的合并。merge()函数有4个必要参数:
import pandas as pd
# 创建两个数据框
df1 = pd.DataFrame({'key': ['A', 'B', 'C', 'D'],
'value': [1, 2, 3, 4]})
df2 = pd.DataFrame({'key': ['B', 'D', 'E', 'F'],
'value': [5, 6, 7, 8]})
# 合并两个数据框
merged_df = pd.merge(df1, df2, on='key', how='outer')
print(merged_df)
输出结果:
key value_x value_y
0 A 1.0 NaN
1 B 2.0 5.0
2 C 3.0 NaN
3 D 4.0 6.0
4 E NaN 7.0
5 F NaN 8.0
在这个例子中,我们合并了两个具有相同列名的数据框,并使用了'outer'方式,即保留两个数据框的所有记录。
使用Pandas的drop_duplicates()函数可以删除数据框中的重复项。drop_duplicates()函数有两个参数:
# 删除key列中的重复项
unique_df = merged_df.drop_duplicates(subset=['key'], keep='first')
print(unique_df)
输出结果:
key value_x value_y
0 A 1.0 NaN
1 B 2.0 5.0
2 C 3.0 NaN
3 D 4.0 6.0
4 E NaN 7.0
5 F NaN 8.0
在这个例子中,我们选择了'key'列来去重,并保留了第一个重复项。
如果我们选择了所有列进行去重,我们会发现结果完全相同:
# 删除所有列中的重复项
unique_df = merged_df.drop_duplicates()
print(unique_df)
输出结果:
key value_x value_y
0 A 1.0 NaN
1 B 2.0 5.0
2 C 3.0 NaN
3 D 4.0 6.0
4 E NaN 7.0
5 F NaN 8.0
在实际的业务场景中,我们可以根据需要选择要去重的列,并选择保留的重复记录。通过Pandas的merge()函数和drop_duplicates()函数的组合使用,我们可以很方便地实现两个数据框的合并和去重。