gpt4 book ai didi

python - 比较 python 中 sql 的两个列表并使用 pandas.io 显示结果

转载 作者:行者123 更新时间:2023-12-01 04:42:19 24 4
gpt4 key购买 nike

我有一个关于 python 的问题。我正在尝试比较两个数据帧并检查哪些元素不同并将它们插入到另一个数据帧中。这是我的数据框。 df1:

PN      Stock        WHS      Cost
1111 1 VLN 0.2
1111 2 VLN 0.2
1115 1 KNS 0.5

df2:

    PN      Stock        WHS      Cost    Time
1111 1 VLN 0.2 15:00
1111 3 VLN 0.2 16:00

所以想法是将 df2 中尚未存在于 df1 中的数据添加到 df1 中; df2 中的第 2 行在 df1 中不存在,所以我想插入它。我应该如何编写代码来查找不存在的行以便我可以插入它?我尝试过:

   for index, row in df1.iterrows():
if df2[(df2['PN']==row['PN']) & (df2['Stock'] ==row['Stock']) & (df2['Whs'] = row['Whs']) & (df2['Cost']==row['Cost'])].empty
print row['PN']

检查要更新哪些行,但我基本上打印了所有行,而不是不匹配的行。请问我该如何解决这个问题?是否可以使用某种“IN”函数,将每个 df1 行与整个 df2 进行比较???

最佳答案

我相信你想执行一个外部merge :

In [29]:

df.merge(df1, how='outer')
Out[29]:
PN Stock WHS Cost Time
0 1111 1 VLN 0.2 15:00
1 1111 2 VLN 0.2 NaN
2 1115 1 KNS 0.5 NaN
3 1111 3 VLN 0.2 16:00

关于python - 比较 python 中 sql 的两个列表并使用 pandas.io 显示结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30319846/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com