簡體   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