我有一个像这样的数据框架
df = pd.DataFrame({'Shipment': ['Washington','Green Gala', 'Green Gala','Dale', 'Chiquita'],
'Source': ['USA', 'SA','NZ', 'GU','EQ'],
'Serial No.': ['01','01','01','02','02'],
'Freight type': ['Truck','Air','Sea','Sea','Sea'],
'Shipment date': ['2020-01-01','NULL','2020-01-02','2020-02-01','2020-02-01']})

我想找到序列号值相同但装运日期和装运值不同的记录。
从上面的例子中,对于Serial '01‘托运有多个行,它们是华盛顿和格林Gala,并且所有3条记录的发运日期也不同,所以我想保存这些。
对于系列编号'02',我的货物是不同的,但我的装运日期是相同的,所以我将忽略这些。
我的最终数据框架应该类似于
df = pd.DataFrame({'Shipment': ['Washington','Green Gala', 'Green Gala'],
'Source': ['USA', 'SA','NZ'],
'Serial No.': ['01','01','01'],
'Freight type': ['Truck','Air','Sea'],
'Shipment date': ['2020-01-01','NULL','2020-01-02']})

发布于 2022-08-04 02:23:40
df.drop_duplicates(["Shipment date", "Serial No."], keep=False) Shipment Source Serial No. Freight type Shipment date
0 Washington USA 01 Truck 2020-01-01
1 Green Gala SA 01 Air NULL
2 Green Gala NZ 01 Sea 2020-01-02注:适用于您的示例输入。只需确保它是否适用于所有可能的场景。
https://stackoverflow.com/questions/73229668
复制相似问题