我目前有一个包含 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)
