[英]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.