gpt4 book ai didi

python - 匹配一个 ID 中多个列的值

转载 作者:太空宇宙 更新时间:2023-11-03 13:56:31 25 4
gpt4 key购买 nike

示例 DF:

ID     Match1        Match2        Match3     Match4       Match5
1 Yes No Yes Yes Yes
2 Yes No Yes Yes No
2 Yes No No Yes Yes
3 No Yes Yes Yes No
3 No Yes No No No
4 Yes No Yes No No
4 Yes No Yes Yes Yes

预期的 DF:

 ID     Match1     Match2        Match3     Match4    Match5 Final_Match
1 Yes No Yes Yes Yes Clear
2 Yes No Yes Yes No Unclear
2 Yes No No Yes Yes Unclear
3 No Yes Yes Yes No Clear
3 No Yes No No No Unclear
4 Yes No Yes No No Unclear
4 Yes No Yes Yes Yes Clear

问题陈述:

  1. 如果 ID 不重复,只需将 Clear 放入 Final_Match 列(示例 ID 1)
  2. 如果 ID 是重复的,则在 Match1 到 Match5 列中的 ID 计数 Yes 中,以“Yes”较大者为准,为那个输入 ClearUnclear 另一个(Example ID 3 & 4

  3. 如果 ID 是重复的,则在 Match1 到 Match5 列中的 ID 计数 Yes,如果它们具有相同的“Yes”,则在两者中输入 Unclear(示例编号 2)

我找不到任何关于如何在 ID 内解决的问题?

最佳答案

您还可以通过使用 Groupby.rank 实现此目的:

# Helper Series
s = (df.replace({'Yes': 1, 'No': 0})
.iloc[:, 1:]
.sum(1))

df['final_match'] = np.where(s.groupby(df['ID']).rank(ascending=False).eq(1), 'Clear', 'Unclear')

关于python - 匹配一个 ID 中多个列的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54888248/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com