[英]Count number of values in an entire DataFrame
我目前有50列和大约50000行的DataFrame。 我试图找到一个值(例如2)出现在整个DataFrame中的总次数。
DataFrame仅包含0到7之间的值。我可以使用以下命令为单个列执行代码:
print(df['col1'].value_counts())
然后,我尝试创建一个for循环,如下所示:
for cols in df:
print(df[cols].value_counts())
此方法有效,但是将其打印为每一列的单独结果。
我没有使结果按列划分,而是尝试获得类似于以下所示的内容,但对于DataFrame中的所有列进行合并,而不仅仅是1列。
val no.
7.0 165
3.0 127
5.0 118
6.0 112
2.0 98
4.0 88
1.0 64
0.0 21
Name: col1, dtype: int64
任何帮助将不胜感激!
取一个特定值:
(df.values == 2).sum()
或全部:
np.unique(df.values, return_counts=True)
您可能需要先检查第一个stack
然后检查value_counts
,现在您可以从索引中选择所需的内容
df.stack().value_counts()
您也可以尝试使用Counter
:
from collections import Counter
print(pd.DataFrame(Counter(df.values.flatten()), index=['Count']).T)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.