gpt4 book ai didi

python - 验证 Pandas 数据框中的行在列中的值之间是否相等

转载 作者:行者123 更新时间:2023-12-04 07:52:12 26 4
gpt4 key购买 nike

假设我有一个 Pandas DataFrame,如下所示:

   C30    C25    C20    C15    C10
1 AJA EJE IJI OJO UJU
2 AJA EJE IJI OJO UJU
3 AJA EJE IJI OJO UJU
4 ABA EBE IBI OBO UBU
5 ABA EBE IBI OBO UBU
6 ABA EBE IBI OBO UNU
7 BOB BIB BEB BAB BUB
我想验证在 C30 中具有相等值的所有行在 C25、C20、C15 和 C10 中也具有相等的值。
我有大约 60,000 行,列值有很多变化,如果列 C30 中的元素相等,那么相应的列 C25 元素也应该相等,依此类推。
例如,验证应该显示不匹配,因为第 6 行中的 C10 值不等于 4 & 5 行。执行此操作的最有效方法是什么?

最佳答案

您可以使用 DataFrameGroupBy.nunique 并比较不相等 1来自 DataFrame.ne :

m = df.groupby('C30').nunique().ne(1)
print (m)
C25 C20 C15 C10
C30
ABA False False False True
AJA False False False False
BOB False False False False
然后如果需要值,如果没有匹配使用 np.where :
i, c  = np.where(m)

L = list(zip(m.index[i], m.columns[c]))

if len(L) > 0:
print ('mismatch')
print (L)
mismatch
[('ABA', 'C10')]

关于python - 验证 Pandas 数据框中的行在列中的值之间是否相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66899838/

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