|
发表于 2024-4-13 09:35:51
|
显示全部楼层
你可以使用pandas库中的merge函数来实现两个DataFrame的匹配操作。首先,我们需要将df1和df2按照"日期"和"车牌"两列进行合并,得到一个新的DataFrame,命名为merged_df:
- import pandas as pd
- df1 = pd.DataFrame({'日期': ['4-1', '4-2', '4-3', '4-5', '4-6', '4-6', '4-8', '4-9', '4-10'],
- '车牌': [5, 6, 7, 8, 9, 10, 5, 8, 20],
- '加油升数': [100, 70, 80, 90, 100, 101, 100, 90, 50]})
- df2 = pd.DataFrame({'日期': ['4-1', '4-3', '4-3', '4-4', '4-6', '4-6', '4-7', '4-9', '4-11', '4-12'],
- '车牌': [5, 6, 6, 8, 11, 10, 5, 8, 20, 30],
- '加油升数': [100, 70, 60, 90, 100, 101, 120, 190, 60, 20]})
- merged_df = pd.merge(df1, df2, on=['日期', '车牌'])
复制代码
然后,我们使用iterrows()方法遍历merged_df,并根据条件删除df1中对应的行:
- for index, row in merged_df.iterrows():
- df1 = df1.drop(df1[(df1['日期'] == row['日期']) & (df1['车牌'] == row['车牌'])].index)
复制代码
最后,剩下的df1即为你所需的结果:
输出结果为:
- 日期 车牌 加油升数
- 1 4-2 6 70
- 2 4-3 7 80
- 3 4-5 8 90
- 4 4-6 9 100
- 7 4-9 8 90
- 8 4-10 20 50
复制代码
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |
|