我有这样的数据。我想知道整个二维矩阵中出现次数最多的值 哪个是 T-SPA,我还想知道它来自哪个 ac_id? 对此最好的办法是什么。
添加为文本
ac_id v1_val v2_val v3_val
1 T-PA SpA
23 T-SPA T-SPA
24 T-SPA T-SPA T-S.P.A
我假设你有这个数据框:
ac_id v1_val v2_val v3_val
0 1 T-PA SpA NaN
1 23 T-SPA NaN T-SPA
2 24 T-SPA T-SPA T-S.P.A
然后要找到最常出现的值,您可以这样做,例如:
out = df.set_index("ac_id").stack().value_counts()
print(out)
打印:
T-SPA 4
T-PA 1
SpA 1
T-S.P.A 1
Name: count, dtype: int64
print(out.index[0])
打印:
T-SPA
找到
ac_id
:
ac_ids = df.loc[df.loc[:, "v1_val":].eq(out.index[0]).any(axis=1), "ac_id"]
print(ac_ids)
打印:
1 23
2 24
Name: ac_id, dtype: int64