首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在一列上连接pandas dataframes和override?

如何在一列上连接pandas dataframes和override?
EN

Stack Overflow用户
提问于 2019-03-01 23:44:20
回答 1查看 132关注 0票数 0

考虑以下数据帧:

代码语言:javascript
运行
复制
import pandas as pd

data1={'column_a' : ['a','a','b','c','d','e'],
      'column_b' : [1,2,3,4,5,6],
      'column_c' : [9,8,6,4,5,4]}

data2={'column_a' : ['f','f','g','a','a','a'],
      'column_b' : [7,8,9,7,5,6],
      'column_c' : [6,8,7,6,5,4]}

df_1 = pd.DataFrame(data1)
df_2 = pd.DataFrame(data2)

您将如何连接这两个数据帧,以便df_2将附加到df_1,但覆盖column_a上的df_1?我正在寻找以下结果

代码语言:javascript
运行
复制
column_a    column_b    column_c
b   3   6
c   4   4
d   5   5
e   6   4
f   7   6
f   8   8
g   9   7
a   7   6
a   5   5
a   6   4

请注意,来自df_1的顶部带有'a‘的2行不再可用,因为它们已被来自df_2的3个a覆盖。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-01 23:47:01

只需在appendconcat之前进行一次筛选

代码语言:javascript
运行
复制
pd.concat([df_1.loc[~df_1.column_a.isin(df_2.column_a)],df_2])
Out[29]: 
  column_a  column_b  column_c
2        b         3         6
3        c         4         4
4        d         5         5
5        e         6         4
0        f         7         6
1        f         8         8
2        g         9         7
3        a         7         6
4        a         5         5
5        a         6         4
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54947950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档