我有两个数据框
例如:
这似乎是
df1
和 df2
,它们都来自同一数据源,但是使用了不同的方法计算,因此大部分值相同,只有一些差异。现在,我想根据df2
中的值来更新df1
。例如:
df1 = pd.DataFrame({'name':['john','deb','john','deb'], 'col1':[490,500,425,678], 'col2':[456,625,578,789],'col3':['TN','OK','OK','NY']})
name col1 col2 col3
john 490 456 TN
deb 500 625 OK
john 425 578 OK
deb 678 789 NY
df2 = pd.DataFrame({'name':['deb','john','deb','john','deb'], 'col1':[400,490,500,425,678], 'col2':[225,456,625,578,789],'col3':['TN','TN','OK','OK','NY']})
name col1 col2 col3
deb 400 225 TN
john 490 456 TN
deb 500 625 OK
john 425 578 OK
deb 678 789 NY
所以,在这种情况下,.append
应该只将来自 df2
的第一行追加到 df1
中。因此,仅当有一个新行在 df2
中,并且基于名称和 col3
不在 df1
中时,该列才会被添加/更新,否则不会。这似乎是
concat
应该完成的任务。
col3
是一个类别变量,所以如果类别中有新的name
,你需要添加。 - msakyadeb 1000 2000 OK
- 您是否希望删除原始的deb 500 625 OK
行? - DSM