Python 3.x Pandas,数据帧来自少数列的唯一值

Python 3.x Pandas,数据帧来自少数列的唯一值,python-3.x,pandas,dataframe,pandas-groupby,Python 3.x,Pandas,Dataframe,Pandas Groupby,我正在尝试计算少数列中的uniqiue值。我的数据框如下所示: Name Name.1 Name.2 Name.3 x z c y y p q x q p a y 输出应如下所示: x 2 z 1 c 1 y 3 q 2 p 2 a 1 我使用了groupby或count_值,但无法获得正

我正在尝试计算少数列中的uniqiue值。我的数据框如下所示:

Name      Name.1    Name.2    Name.3
x         z          c          y
y         p          q          x
q         p           a         y
输出应如下所示:

x   2
z   1
c   1
y   3
q   2
p   2
a   1

我使用了groupby或count_值,但无法获得正确的输出。有什么想法吗?谢谢大家

> P>似乎想考虑值,而不考虑它们的行或列位置。在这种情况下,您应该折叠数据帧并使用计数器

from collections import Counter

arr = np.array(df)
count = Counter(arr.reshape(arr.size))

似乎要考虑值,而不考虑它们的行或列位置。在这种情况下,您应该折叠数据帧并使用计数器

from collections import Counter

arr = np.array(df)
count = Counter(arr.reshape(arr.size))
另一种()方法是先计算,然后求和(按列)

另一种()方法是先计算,然后求和(按列)


很好用。谢谢你,伙计!您知道如何显示最常出现的示例5结果吗?
sorted(count.items(),key=lambda x:x[1])
它返回空列表对不起,是哪一个?排序的结果或计数?您可以执行排序(…,reverse=True)[:5]以按发生率获得前五名。这项工作很棒。谢谢你,伙计!您知道如何显示最常出现的示例5结果吗?
sorted(count.items(),key=lambda x:x[1])
它返回空列表对不起,是哪一个?排序结果或计数?您可以执行
sorted(…,reverse=True)[:5]
通过发生率获得前五名,您可以简单地进行堆栈和计数,即
df.stack().value\u counts()
可能的重复。还包含可能与您的对象类型相关的计时
DataFrame
您可以简单地堆叠和计数,即
df.stack().value\u counts()
可能的重复。还包含可能与对象类型相关的计时
DataFrame