繁体   English   中英

比较两个不同的 DataFrame

[英]compare two different DataFrames

我是熊猫的新手,请帮忙。 我有两个 DataFrame 来比较 DF1:

代码 产品 C_代码 姓名 数量
001 产品_X 01.01.2022 C_0001 Mr_X 12
002 产品_Y 01.01.2022 C_0001 Mr_X 24
001 产品_X 2022 年 1 月 15 日 C_0002 Mr_X 12
002 产品_Y 2022 年 1 月 16 日 C_0003 Mr_X 24
001 产品_X 17.01.2022 C_0004 Mr_X 12

DF2:

C_代码 姓名 数量
01.01.2022 C_0001 Mr_X 36
2022 年 1 月 15 日 C_0002 Mr_X 12
2022 年 1 月 16 日 C_0003 Mr_X 12

Day & Column C_Code unique.Conditions if DF1[ Day ]&[ C_Code ] == DF2 [ Day ]&[ C_Code ] 然后比较QTY ,如果 DF1.sum[ QTY ]<= DF2[ QTY ] 将行写入 DF3,如果DF1[ QTY ] > DF2[ QTY ] 然后将 DF1 中的行写入 DF3 并将 DF2[ QTY ] 中的值放入 DF1[ QTY ] 和 DF2[ QTY ] 之间的差值写入 DF4。 在输出中应该是

正确列表:

代码 产品 C_代码 姓名 数量
001 产品_X 01.01.2022 C_0001 Mr_X 12
002 产品_Y 01.01.2022 C_0001 Mr_X 24
001 产品_X 2022 年 1 月 15 日 C_0002 Mr_X 12
002 产品_Y 2022 年 1 月 16 日 C_0003 Mr_X 12

不正确的列表:

代码 产品 C_代码 姓名 数量
002 产品_Y 2022 年 1 月 16 日 C_0003 Mr_X 12
001 产品_X 17.01.2022 C_0004 Mr_X 12

我如何理解我需要使用 groupBy,但我不明白有多少 tnx 需要帮助!

import pandas as pd 你试过了吗?

df = pd.merge(DF1, DF2, how='left', on='Day', indicator=True)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM