pbh Asked: 2024-04-18 03:01:05 +0800 CST2024-04-18 03:01:05 +0800 CST 2024-04-18 03:01:05 +0800 CST 查找二维数组中出现次数最多的值 772 我有这样的数据。我想知道整个二维矩阵(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 python-3.x 1 个回答 Voted Best Answer Andrej Kesely 2024-04-18T04:32:28+08:002024-04-18T04:32:28+08:00 我假设你有这个数据框: 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
我假设你有这个数据框:
然后要找到最常出现的值,您可以执行以下操作:
印刷:
印刷:
找到
ac_id
:印刷: