[英]Compare two dataframes and write the differences to another dataframe
我有两个数据框。 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 和 append 进行比较
df2 = pd.DataFrame({
'Buyer': ['Carl', 'Alex', 'Maya', 'Emily', 'Lauren'],
'Quantity': [18, 3, 5, 5, 8]})
您只需要将两个 dfs 连接起来,然后丢弃 dupes
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
像你说的那样组合它们( append
),然后做一个重复:
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]})
df = df1.append(df2)
df = df.drop_duplicates()
print(df)
output:
Buyer Quantity
0 Carl 18
1 Alex 3
2 Maya 5
3 Emily 5
4 Lauren 8
使用merge
可以实现。
res = pd.merge(df2,df1,on=['Buyer','Quantity'],how='outer')
output:
Buyer Quantity
0 Carl 18
1 Alex 3
2 Maya 5
3 Emily 5
4 Lauren 8
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.