比较两个数据帧并将差异写入另一个数据帧
我有两个数据框。df1 和 df2
import pandas as pd
df1 = pd.DataFrame({
'Buyer': ['Carl', 'Alex', 'Lauren'],
'Quantity': [18, 3, 8]})
df2 = pd.DataFrame({
'Buyer': ['Carl', 'Alex', 'Maya', 'Emily'],
'Quantity': [18, 3, 5, 5]})
我想知道是否有办法将 df1 与 df2 进行比较并将非 df1 中的任何内容附加到 df2 中,因此我将得到类似的最终结果
df2 = pd.DataFrame({
'Buyer': ['Carl', 'Alex', 'Maya', 'Emily', 'Lauren'],
'Quantity': [18, 3, 5, 5, 8]})
回答
你只需要连接两个 dfs 然后删除欺骗
df2 = pd.concat([df1,df2]).drop_duplicates()
>>> df2
Buyer Quantity
0 Carl 18
1 Alex 3
2 Lauren 8
2 Maya 5
3 Emily 5