首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >消除匹配过程后的行,并保留最小数据

消除匹配过程后的行,并保留最小数据
EN

Stack Overflow用户
提问于 2019-04-10 10:32:19
回答 1查看 34关注 0票数 0

分析了两个品牌数据之间的匹配过程。在分析之后,数据帧如下所示:

代码语言:javascript
复制
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的匹配(必须是仍然存在的两个数据)。如果解释不清楚,请原谅。

我的预期结果如下所示:

代码语言:javascript
复制
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

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-10 10:41:30

您可以先使用sort_value,然后使用drop_duplicates

代码语言:javascript
复制
yourdf = df.sort_values(['Data 2','Data 1']).drop_duplicates(['Brand A', 'Type A',  'Brand B', 'Type B'] )

输出

代码语言:javascript
复制
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-2
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55603907

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档