分析了两个品牌数据之间的匹配过程。在分析之后,数据帧如下所示:
df
Brand A Type A Brand B Type B Data 1 Data 2 Match
IDA Type A ID1 Type 1 3.2 403.4 Match-1
IDA Type B ID1 Type 2 4.1 403.4 Match-2
IDA Type A ID1 Type 1 1.1 56.5 Match-1
IDA Type B ID1 Type 2 1.4 56.5 Match-2
IDA Type B ID1 Type 2 0.6 220.4 Match-2
IDB Type A ID2 Type 1 1.0 292.3 Match-1
IDB Type B ID2 Type 2 0.6 292.3 Match-2
IDB Type A ID2 Type 1 1.5 472.6 Match-1我希望删除品牌A和品牌B列,或者删除dataframe的行,但保留基于数据1和数据2列以及minimum -1和match-2的匹配(必须是仍然存在的两个数据)。如果解释不清楚,请原谅。
我的预期结果如下所示:
Result
Brand A Type A Brand B Type B Data 1 Data 2 Match
IDA Type A ID1 Type 1 1.1 56.5 Match-1
IDA Type B ID1 Type 2 1.4 56.5 Match-2
IDB Type A ID2 Type 1 1.0 292.3 Match-1
IDB Type B ID2 Type 2 0.6 292.3 Match-2谢谢
发布于 2019-04-10 10:41:30
您可以先使用sort_value,然后使用drop_duplicates
yourdf = df.sort_values(['Data 2','Data 1']).drop_duplicates(['Brand A', 'Type A', 'Brand B', 'Type B'] )输出
df.sort_values(['Data 2','Data 1']).drop_duplicates(['Brand A', 'Type A', 'Brand B', 'Type B'] ).sort_index()
BrandA TypeA BrandB TypeB Data1 Data2 Match
2 IDA TypeA ID1 Type1 1.1 56.5 Match-1
3 IDA TypeB ID1 Type2 1.4 56.5 Match-2
5 IDB TypeA ID2 Type1 1.0 292.3 Match-1
6 IDB TypeB ID2 Type2 0.6 292.3 Match-2https://stackoverflow.com/questions/55603907
复制相似问题