python pandas 合并两个数据框并处理重复项?

标签 python pandas dataframe duplicates

当我根据两个 daraframe 中的“名称”列合并两个数据框时,我得到了重复的行,我想保留第一个。我该如何处理?

df1

     Name   Address
0    Amy    Nan
1    Breen  Nan
2    Carly  Nan

df2

     ID    Name   Address
0   1102   Amy    899 South
1   1105   Amy    700 Tower
2   1342   Breen  930 Tower
3   4674   Breen  555 Hall
4   5644   Breen  345 Young
5   2340   Carly  8988 House

合并后:

df1

    Name   Address
0   Amy    899 South
1   Amy    700 Tower
2   Breen  930 Tower
3   Breen  555 Hall
4   Breen  345 Young
5   Carly  8988 House

我想做成这样:

df1

    Name   Address
0   Amy    899 South
1   Breen  930 Tower
2   Carly  8988 House

最佳答案

这可以很容易地完成,一旦你已经merged你的数据框。

我亲自合并了你的两个数据框,如下所示:

df1 = pd.merge(df1,df2,how='right')  # 'right' because we don't want Nan values do we ?

那么你要做的就是drop duplicates如下:

df1.drop_duplicates(subset=['Name'],keep='first',inplace=True)
print(df1)

输出:

      Address   Name
0   899 South    Amy
2   930 Tower  Breen
5  8988 House  Carly

希望对您有所帮助。快乐编码。

关于python pandas 合并两个数据框并处理重复项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44835919/

相关文章:

python - Web2Py错误: invalid function blog/thanks

python - 在 Bottle 中使用流而不是 static_file 返回图像

python - 计算每个值在 pandas 列中出现的次数

python - 如何按列分组,并计算单独列中的值(Pandas)

sorting - SubDataFrame 的自定义排序

r - 在 R 数据框中查找列值遵循序列的行

python - 如何使用 PyTorch 沿特定维度进行热编码?

python - 使用三次样条进行曲线拟合

python - 在 Pandas 中将范围转换为时间戳

python - 如何将 DataFrame 分类到 bin 中,保留每个 bin 的名称?